00001 /* @(#)root/pythia6:$Id: TPythia6Calls.h 22558 2008-03-10 10:59:13Z brun $ */ 00002 00003 /************************************************************************* 00004 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 00005 * All rights reserved. * 00006 * * 00007 * For the licensing terms see $ROOTSYS/LICENSE. * 00008 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00009 *************************************************************************/ 00010 #ifndef ROOT_TPythia6Calls 00011 #define ROOT_TPythia6Calls 00012 // 00013 // converted with i2h by P.Murat 00014 // 00015 //------------------------------------------------------------------------------ 00016 //...This file contains a complete listing of all PYTHIA 00017 //...commonblocks, and additionally some recommended other 00018 //...declarations. You may copy this to the top of your 00019 //...mina program and then eliminate unnecessary parts. 00020 // Jun 19 1998 P.Murat(CDF): add implicit for integers 00021 //----------------------------------------------------------------- 00022 //...All real arithmetic in double precision. 00023 // IMPLICIT DOUBLE PRECISION(A-H, O-Z) 00024 // implicit integer (i-n) 00025 //...Three Pythia functions return integers, so need declaring. 00026 //...Parameter statement to help give large particle numbers 00027 //...(left- and righthanded SUSY, excited fermions). 00028 //...Commonblocks. 00029 //...The event record. 00030 //...Parameters. 00031 //...Particle properties + some flavour parameters. 00032 //...Decay information. 00033 //...Particle names 00034 //...Random number generator information. 00035 //...Selection of hard scattering subprocesses. 00036 //...Parameters. 00037 //...Internal variables. 00038 //...Process information. 00039 //...Parton distributions and cross sections. 00040 //...Resonance width and secondary decay treatment. 00041 //...Generation and cross section statistics. 00042 //...Process names. 00043 //...Total cross sections. 00044 //...Photon parton distributions: total and valence only. 00045 //...Setting up user-defined processes. 00046 //...Supersymmetry parameters. 00047 //...Supersymmetry mixing matrices. 00048 //...Parameters for Gauss integration of supersymmetric widths. 00049 //...Histogram information. 00050 //------------------------------------------------------------------------------ 00051 00052 int const KSUSY1 = 1000000; 00053 int const KSUSY2 = 2000000; 00054 int const KEXCIT = 4000000; 00055 int const KNDCAY = 8000; //should be 4000 for pythia61 00056 00057 00058 struct Pyjets_t { 00059 int N; 00060 int NPAD; 00061 int K[5][4000]; 00062 double P[5][4000]; 00063 double V[5][4000]; 00064 }; 00065 00066 struct Pydat1_t { 00067 int MSTU[200]; 00068 double PARU[200]; 00069 int MSTJ[200]; 00070 double PARJ[200]; 00071 }; 00072 00073 struct Pydat2_t { 00074 int KCHG[4][500]; 00075 double PMAS[4][500]; 00076 double PARF[2000]; 00077 double VCKM[4][4]; 00078 }; 00079 00080 struct Pydat3_t { 00081 int MDCY[3][500]; 00082 int MDME[2][KNDCAY]; 00083 double BRAT[KNDCAY]; 00084 int KFDP[5][KNDCAY]; 00085 }; 00086 00087 struct Pydat4_t { 00088 char CHAF[2][500][16]; // here I needed manual intervention 00089 }; 00090 00091 struct Pydatr_t { 00092 int MRPY[6]; 00093 double RRPY[100]; 00094 }; 00095 00096 struct Pysubs_t { 00097 int MSEL; 00098 int MSELPD; 00099 int MSUB[500]; 00100 int KFIN[81][2]; // 00101 double CKIN[200]; 00102 }; 00103 00104 struct Pypars_t { 00105 int MSTP[200]; 00106 double PARP[200]; 00107 int MSTI[200]; 00108 double PARI[200]; 00109 }; 00110 00111 struct Pyint1_t { 00112 int MINT[400]; 00113 double VINT[400]; 00114 }; 00115 00116 struct Pyint2_t { 00117 int ISET[500]; 00118 int KFPR[2][500]; 00119 double COEF[20][500]; 00120 int ICOL[2][4][40]; 00121 }; 00122 00123 struct Pyint3_t { 00124 double XSFX[81][2]; // 00125 int ISIG[3][1000]; 00126 double SIGH[1000]; 00127 }; 00128 00129 struct Pyint4_t { 00130 int MWID[500]; 00131 double WIDS[5][500]; 00132 }; 00133 00134 struct Pyint5_t { 00135 int NGENPD; 00136 int NGEN[3][501]; 00137 double XSEC[3][501]; 00138 }; 00139 00140 struct Pyint6_t { 00141 char PROC[501][28]; 00142 }; 00143 00144 struct Pyint7_t { 00145 double SIGT[6][7][7]; 00146 }; 00147 00148 struct Pyint8_t { 00149 double XPVMD[13]; 00150 double XPANL[13]; 00151 double XPANH[13]; 00152 double XPBEH[13]; 00153 double XPDIR[13]; 00154 }; 00155 00156 struct Pyint9_t { 00157 double VXPVMD[13]; 00158 double VXPANL[13]; 00159 double VXPANH[13]; 00160 double VXPDGM[13]; 00161 }; 00162 00163 struct Pymssm_t { 00164 int IMSS[100]; 00165 double RMSS[100]; 00166 }; 00167 00168 struct Pyssmt_t { 00169 double ZMIX[4][4]; 00170 double UMIX[2][2]; 00171 double VMIX[2][2]; 00172 double SMZ[4]; 00173 double SMW[2]; 00174 double SFMIX[4][16]; 00175 double ZMIXI[4][4]; 00176 double UMIXI[2][2]; 00177 double VMIXI[2][2]; 00178 }; 00179 00180 struct Pyints_t { 00181 double XXM[20]; 00182 }; 00183 00184 struct Pybins_t { 00185 int IHIST[4]; 00186 int INDX[1000]; 00187 double BIN[20000]; 00188 }; 00189 00190 #endif