2 #ifndef HERWIG_WRAPPER_H
3 #define HERWIG_WRAPPER_H
16 #ifdef _WIN32 // Platform: Windows MS Visual C++
20 #else // Generic version, tested on Linux ecgs/gcc
28 double EBEAM1,EBEAM2,PBEAM1,PBEAM2;
32 #define hwproc hwproc_
40 #define hwbeam hwbeam_
46 char PART1[8],PART2[8];
49 #define hwbmch hwbmch_
54 const int herwig_hepevt_size = 4000;
57 double AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM;
58 int IDHW[herwig_hepevt_size],IERROR,ISTAT,LWEVT,MAXER,MAXPR;
59 int NOWGT,NRN[2],NUMER,NUMERU,NWGTS;
63 #define hwevnt hwevnt_
79 double AFCH[2][16],ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
80 CLMAX,CLPOW,CLSMR[2],CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
81 GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL[4],PHIMIX,PIFAC,
82 PRSOF,PSPLT[2],PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH[16],QG,
83 QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH[2][16],VCKM[3][3],VGCUT,VQCUT,
84 VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME;
85 int IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF[2],NBTRY,NCOLO,NCTRY,
86 NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT[2],NPRFMT;
87 int AZSOFT,AZSPIN,CLDIR[2],HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,
88 ZPRIME,PRNDEF,PRNTEX,PRNWEB;
91 #define hwpram hwpram_
96 #define hwigin hwigin_ // initialise other common blocks
97 #define hwigup hwigup_ // initialise HepUP run common block
98 #define hwuinc hwuinc_ // compute parameter-dependent constants
99 #define hwusta hwusta_ // call hwusta to make any particle stable
100 #define hweini hweini_ // initialise elementary process
101 #define hwuine hwuine_ // initialise event
102 #define hwepro hwepro_ // generate HERWIG hard subprocess
103 #define hwupro hwupro_ // read USER hard subprocess from HepUP event common
104 #define hwbgen hwbgen_ // generate parton cascades
105 #define hwdhob hwdhob_ // do heavy object decays
106 #define hwcfor hwcfor_ // do cluster hadronization
107 #define hwcdec hwcdec_ // do cluster decay
108 #define hwdhad hwdhad_ // do unstable particle decays
109 #define hwdhvy hwdhvy_ // do heavy flavour decays
110 #define hwmevt hwmevt_ // add soft underlying event if needed
111 #define hwufne hwufne_ // event generation completed, wrap up event ....
112 #define hwefin hwefin_ // terminate elementary process
114 #define hwudpr hwudpr_ // prints out particle/decay properties
115 #define hwuepr hwuepr_ // prints out event data
116 #define hwupup hwupup_ // prints out HepEUP user common block event data
117 #define hwegup hwegup_ // terminal calculations to replace HWEFIN for HepUP
122 void hwusta(
const char*,
int);
147 #define hwudat hwudat_
153 #include "HepMC/GenCrossSection.h"
164 #endif // HERWIG_WRAPPER_H
GenCrossSection getHerwigCrossSection(int ngen)
calculate the Herwig cross section and statistical error