00001 #ifndef HERWIG_INC
00002 #define HERWIG_INC
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 const int nmxres = 500+1;
00015 extern "C" {
00016 extern struct {
00017 double RLTIM[nmxres], RMASS[nmxres], RSPIN[nmxres];
00018 int ICHRG[nmxres], IDPDG[nmxres],IFLAV[nmxres], NRES;
00019 int VTOCDK[nmxres], VTORDK[nmxres], QORQQB[nmxres], QBORQQ[nmxres];
00020 } hwprop_;
00021 }
00022 #define hwprop hwprop_
00023
00024
00025
00026
00027
00028
00029
00030 const int nmxsud = 1024;
00031 extern "C" {
00032 extern struct {
00033 double ACCUR, QEV[6][nmxsud],SUD[6][nmxsud];
00034 int INTER, NQEV, NSUD, SUDORD;
00035 } hwusud_;
00036 }
00037 #define hwusud hwusud_
00038
00039
00040
00041
00042
00043
00044
00045 extern"C" {
00046 extern struct {
00047 double ABWGT, ABWSUM, AVABW;
00048 int NNEGWT,NNEGEV,NEGWTS;
00049 } hw6203_;
00050 }
00051 #define hw6203 hw6203_
00052
00053
00054
00055
00056
00057
00058 extern "C" {
00059 extern struct {
00060 char AUTPDF[2][20],BDECAY[4];
00061 } hwprch_;
00062 }
00063 #define hwprch hwprch_
00064
00065
00066
00067
00068
00069 extern "C" {
00070 extern struct {
00071 double PMBN1,PMBN2,PMBN3,PMBK1,PMBK2,PMBM1,PMBM2,PMBP1,PMBP2,PMBP3;
00072 } hwminb_;
00073 }
00074 #define hwminb hwminb_
00075
00076
00077
00078
00079
00080
00081 extern "C" {
00082 extern struct {
00083 double EXAG,GEV2MM,HBAR,PLTCUT,VMIN2,VTXPIP[5],XMIX[2],XMRCT[2],YMIX[2],YMRCT[2];
00084 int IOPDKL,MAXDKL,MIXING,PIPSMR;
00085 } hwdist_;
00086 }
00087 #define hwdist hwdist_
00088
00089
00090
00091
00092
00093 const int nmxcdk=4000;
00094 extern "C" {
00095 extern struct {
00096 double CLDKWT[nmxcdk],CTHRPW[12][12],PRECO,RESN[12][12], RMIN[12][12];
00097 int LOCN[12][12],NCLDK[nmxcdk], NRECO,CLRECO;
00098 } hwuclu_;
00099 }
00100 #define hwuclu hwuclu_
00101
00102
00103
00104
00105
00106 extern "C" {
00107 extern struct {
00108 double REPWT[5][5][4],SNGWT,DECWT,QWT[3],PWT[12],SWTEF[nmxres];
00109 } hwuwts_;
00110 }
00111 #define hwuwts hwuwts_
00112
00113
00114
00115
00116
00117
00118
00119
00120 extern "C" {
00121 extern struct {
00122 double VIPWID[3], DXRCYL,DXZMAX,DXRSPH;
00123 int WZRFR,FIX4JT,IMSSM,IHIGGS,PARITY,LRSUSY;
00124 } hw6202_;
00125 }
00126 #define hw6202 hw6202_
00127
00128
00129
00130
00131
00132 const int hepevt_size = 4000;
00133 const int modmax = 50;
00134 extern "C" {
00135 extern struct {
00136 double ALPFAC, BRHIG[12], ENHANC[12], GAMMAX, RHOHEP[hepevt_size][3];
00137 int IOPHIG, MODBOS[modmax];
00138 } hwbosc_;
00139 }
00140 #define hwbosc hwbosc_
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150 extern "C" {
00151 extern struct {
00152 double ASFIXD,CLQ[6][7],COSS,COSTH,CTMAX,DISF[2][13],EMLST, EMMAX,EMMIN,EMPOW,EMSCA,EPOLN[3],GCOEF[7],GPOLN,OMEGA0,PHOMAS, PPOLN[3],PTMAX,PTMIN,PTPOW,Q2MAX,Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QLIM, SINS,THMAX,Y4JT,TMNISR,TQWT,XX[2],XLMIN,XXMIN,YBMAX,YBMIN,YJMAX,YJMIN,YWWMAX,YWWMIN,WHMIN,ZJMAX,ZMXISR;
00153 int IAPHIG,IBRN[2],IBSH, ICO[10],IDCMF,IDN[10],IFLMAX,IFLMIN,IHPRO,IPRO,MAPQ[6],MAXFL,BGSHAT,COLISR,FSTEVT,FSTWGT,GENEV,HVFCEN,TPOL,DURHAM;
00154 } hwhard_;
00155 }
00156 #define hwhard hwhard_
00157
00158
00159
00160
00161
00162 extern "C" {
00163 extern struct {
00164 double ANOMSC[2][2],HARDST,PTINT[2][3],XFACT;
00165 int INHAD,JNHAD,NSPAC[7],ISLENT,BREIT,FROST,USECMF;
00166 } hwbrch_;
00167 }
00168 #define hwbrch hwbrch_
00169
00170
00171
00172
00173 extern "C" {
00174 extern struct {
00175 int PRESPL;
00176 } hw6500_;
00177 }
00178 #define hw6500 hw6500_
00179
00180
00181
00182
00183
00184 extern "C" {
00185 extern struct {
00186 double LAMDA1[3][3][3],LAMDA2[3][3][3],LAMDA3[3][3][3];
00187 int HRDCOL[5][2],RPARTY,COLUPD;
00188 } hwrpar_;
00189 }
00190 #define hwrpar hwrpar_
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202 extern "C" {
00203 extern struct {
00204 double TANB,ALPHAH,COSBPA,SINBPA,COSBMA,SINBMA,COSA,SINA,COSB,SINB,COTB,ZMIXSS[4][4],ZMXNSS[4][4],ZSGNSS[4], LFCH[16],RFCH[16],SLFCH[4][16],SRFCH[4][16], WMXUSS[2][2],WMXVSS[2][2], WSGNSS[2],QMIXSS[2][2][6],LMIXSS[2][2][6],THETAT,THETAB,THETAL,ATSS,ABSS,ALSS,MUSS,FACTSS,GHWWSS[3],GHZZSS[3],GHDDSS[4],GHUUSS[4],GHWHSS[3],GHSQSS[2][2][6][4],XLMNSS,RMMNSS,DMSSM,SENHNC[24],SSPARITY;
00205 int SUSYIN;
00206 } hwsusy_;
00207 }
00208 #define hwsusy hwsusy_
00209
00210
00211
00212
00213
00214
00215
00216 extern "C" {
00217 extern struct {
00218 int NDECSY,NSEARCH,LRDEC,LWDEC,SYSPIN,THREEB,FOURB;
00219 char TAUDEC[6];
00220 } hwdspn_;
00221 }
00222
00223 #define hwdspn hwdspn_
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236 const int maxhrp = 100;
00237 extern "C" {
00238 extern struct {
00239 double LHWGT[maxhrp],LHWGTS[maxhrp],LHMXSM,LHXSCT[maxhrp],LHXERR[maxhrp],LHXMAX[maxhrp];
00240 int LHIWGT,LHNEVT,ITYPLH,LHSOFT,LHGLSF;
00241 } hwgupr_;
00242 }
00243 #define hwgupr hwgupr_
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253 const int imaxch = 20;
00254 extern "C" {
00255 extern struct {
00256 double MJJMIN,CHNPRB[imaxch];
00257 int IOPSTP,IOPSH,OPTM,CHON[imaxch];
00258 } hw6300_;
00259 }
00260 #define hw6300 hw6300_
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289 const int NPROC = 117;
00290 const int MAXMS = 100;
00291 const int NPSIMP = 16;
00292 const double SMALL = 0.00000000000000000001;
00293
00294 extern "C" {
00295 extern struct {
00296 double PTJIM,YGAMMA,JMZMIN,JMRAD[264],PHAD,JMU2,JMV2,JMARRY[NPSIMP+1][6+MAXMS],
00297 NLOST,TOTSCAT;
00298 int ANAMOFF,JCMVAR,JMUEO,JMPTYP[NPROC],JMBUG,FN_TYPE,MSFLAG,MAXMSTRY;
00299 } jmparm_;
00300 }
00301 #define jmparm jmparm_
00302
00303 extern "C" {
00304 extern struct {
00305 double JMPROC[NPROC],JMVETO[13][2];
00306 int NSCAT;
00307 } jmevnt_;
00308 }
00309 #define jmevnt jmevnt_
00310
00311
00312 extern"C" {
00313 void jimmin_(void);
00314 void jminit_(void);
00315 double hwmsct_dummy_(double);
00316 void jmefin_(void);
00317 }
00318
00319 #define jimmin jimmin_
00320 #define jminit jminit_
00321 #define hwmsct_dummy hwmsct_dummy_
00322 #define jmefin jmefin_
00323
00324
00325
00326
00327
00328
00329
00330 #define qcd_1994 qcd_1994_
00331 extern "C" {
00332 void qcd_1994(double&,double&,double*,int&);
00333 }
00334
00335 #define qcd_2006 qcd_2006_
00336 extern "C" {
00337 void qcd_2006(double&,double&,int&,double*,double*,double*,double*,double*);
00338 }
00339
00340
00341 #define hwmodk hwmodk_
00342 extern "C" {
00343 void hwmodk(int&,double&,int&,int&,int&,int&,int&,int&);
00344 }
00345
00346 #endif