00001
00002 #ifndef PYTHIA_WRAPPER_6_H
00003 #define PYTHIA_WRAPPER_6_H
00004
00006
00007
00008
00009
00010
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <ctype.h>
00021 #include <cstring>
00022
00023
00024
00025
00026
00027 extern "C" {
00028 void initpydata(void);
00029 }
00030 #define initpydata initpydata_
00031
00032
00033
00034
00035 const int pyjets_maxn =4000;
00036 extern "C" {
00037 extern struct {
00038 int n, npad, k[5][pyjets_maxn];
00039 double p[5][pyjets_maxn], v[5][pyjets_maxn];
00040 } pyjets_;
00041 }
00042 #define pyjets pyjets_
00043
00044 extern "C" {
00045 extern struct {
00046 int mstu[200];
00047 double paru[200];
00048 int mstj[200];
00049 double parj[200];
00050 } pydat1_;
00051 }
00052 #define pydat1 pydat1_
00053
00054 extern "C" {
00055 extern struct {
00056 int kchg[4][500];
00057 double pmas[4][500], parf[2000], vckm[4][4];
00058 } pydat2_;
00059 }
00060 #define pydat2 pydat2_
00061
00062 extern "C" {
00063 extern struct {
00064 int mdcy[3][500], mdme[2][8000];
00065 double brat[8000];
00066 int kfdp[5][8000];
00067 } pydat3_;
00068 }
00069 #define pydat3 pydat3_
00070
00071 extern "C" {
00072 extern struct {
00073 int mrpy[6];
00074 double rrpy[100];
00075 } pydatr_;
00076 }
00077 #define pydatr pydatr_
00078
00079 extern "C" {
00080 extern struct {
00081 int msel, mselpd, msub[500], kfin[81][2];
00082 double ckin[200];
00083 } pysubs_;
00084 }
00085 #define pysubs pysubs_
00086
00087 extern "C" {
00088 extern struct {
00089 int mstp[200];
00090 double parp[200];
00091 int msti[200];
00092 double pari[200];
00093 } pypars_;
00094 }
00095 #define pypars pypars_
00096
00097 extern "C" {
00098 extern struct {
00099 int mint[400];
00100 double vint[400];
00101 } pyint1_;
00102 }
00103 #define pyint1 pyint1_
00104
00105 extern "C" {
00106 extern struct {
00107 int iset[500], kfpr[2][500];
00108 double coef[20][500];
00109 int icol[2][4][40];
00110 } pyint2_;
00111 }
00112 #define pyint2 pyint2_
00113
00114 extern "C" {
00115 extern struct pin3 {
00116 double xsfx[81][2];
00117 int isig[3][1000];
00118 double sigh[1000];
00119 } pyint3_;
00120 }
00121 #define pyint3 pyint3_
00122
00123 extern "C" {
00124 extern struct {
00125 int mwid[500];
00126 double wids[5][500];
00127 } pyint4_;
00128 }
00129 #define pyint4 pyint4_
00130
00131 extern "C" {
00132 extern struct pin5 {
00133 int ngenpd, ngen[3][501];
00134 double xsec[3][501];
00135 } pyint5_;
00136 }
00137 #define pyint5 pyint5_
00138
00139 extern "C" {
00140 extern struct pin7 {
00141 double sigt[6][7][7];
00142 } pyint7_;
00143 }
00144 #define pyint7 pyint7_
00145
00146 extern "C" {
00147 extern struct pin8 {
00148 double xpvmd[13];
00149 double xpanl[13];
00150 double xpanh[13];
00151 double xpbeh[13];
00152 double xpdir[13];
00153 } pyint8_;
00154 }
00155 #define pyint8 pyint8_
00156
00157 extern "C" {
00158 extern struct pin9 {
00159 double vxpvmd[13];
00160 double vxpanl[13];
00161 double vxpanh[13];
00162 double vxpdgm[13];
00163 } pyint9_;
00164 }
00165 #define pyint9 pyint9_
00166
00167 extern "C" {
00168 extern struct pssm {
00169 int imss[100];
00170 double rmss[100];
00171 } pyssm_;
00172 }
00173 #define pyssm pyssm_
00174
00175 extern "C" {
00176 extern struct {
00177 double zmix[4][4];
00178 double umix[2][2];
00179 double vmix[2][2];
00180 double smz[4];
00181 double smw[2];
00182 double sfmix[4][16];
00183 double zmixi[4][4];
00184 double umixi[2][2];
00185 double vmixi[2][2];
00186 } pyssmt_;
00187 }
00188 #define pyssmt pyssmt_
00189
00190 extern "C" {
00191 extern struct {
00192 double rvlam[3][3][3];
00193 double rvlamp[3][3][3];
00194 double rvlamb[3][3][3];
00195 } pymsrv_;
00196 }
00197 #define pymsrv pymsrv_
00198
00199 extern "C" {
00200 extern struct prvnv {
00201 double ab[2][16][2];
00202 double rms[4];
00203 double res[5][6];
00204 int idr;
00205 int idr2;
00206 double dcmass;
00207 int kfr[3];
00208 } pyrvnv_;
00209 }
00210 #define pyrvnv pyrvnv_
00211
00212 extern "C" {
00213 extern struct prvpm {
00214 double rm[4];
00215 double a[2];
00216 double b[2];
00217 double resm[2];
00218 double resw[2];
00219 bool mflag;
00220 } pyrvpm_;
00221 }
00222 #define pyrvpm pyrvpm_
00223
00224 extern "C" {
00225 extern struct {
00226 double xxm[20];
00227 } pyints_;
00228 }
00229 #define pyints pyints_
00230
00231 extern "C" {
00232 extern struct {
00233 double x1;
00234 } pyg2dx_;
00235 }
00236 #define pyg2dx pyg2dx_
00237
00238
00239
00240
00241 #define pyhepc pyhepc_
00242 #define pyinit pyinit_
00243 #define pylist pylist_
00244 #define pystat pystat_
00245 #define pyevnt pyevnt_
00246 #define upinit upinit_
00247 #define upevnt upevnt_
00248 extern "C" {
00249 void pyhepc(int*);
00250 void pyinit(const char*,const char*,const char*,double*,int,int,int);
00251 void pylist(int*);
00252 void pystat(int*);
00253 void pyevnt();
00254 void upinit();
00255 void upevnt();
00256 }
00257
00258
00259 inline void call_pyhepc( int mode ){ pyhepc( &mode ); }
00260 inline void call_pyinit( const char* frame, const char* beam, const char* target,
00261 double win )
00262 { pyinit( frame,beam,target,&win,strlen(frame),strlen(beam),strlen(target) ); }
00263 inline void call_pylist( int mode ){ pylist( &mode ); }
00264 inline void call_pystat( int mode ){ pystat( &mode ); }
00265 inline void call_pyevnt(){ pyevnt(); }
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275 #define pydata pydata_
00276 extern "C" {
00277 void pydata(void);
00278 }
00279
00280 #endif // PYTHIA_WRAPPER_6_H
00281