| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

HerwigWrapper6_4.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 #ifndef HERWIG_WRAPPER_H
00003 #define HERWIG_WRAPPER_H
00004 
00006 // Matt.Dobbs@Cern.CH, April 2002
00007 // Wrapper for FORTRAN version of Herwig
00009 // 
00010 
00011 #include <ctype.h>
00012 
00013 //--------------------------------------------------------------------------
00014 // HERWIG Common Block Declarations
00015 
00016 //        COMMON/HWPROC/EBEAM1,EBEAM2,PBEAM1,PBEAM2,IPROC,MAXEV
00017 extern "C" {
00018     extern struct {
00019         double EBEAM1,EBEAM2,PBEAM1,PBEAM2;
00020         int IPROC,MAXEV;
00021     } hwproc_;
00022 }
00023 #define hwproc hwproc_
00024 
00025 //        CHARACTER*8 PART1,PART2
00026 //        COMMON/HWBMCH/PART1,PART2
00027 extern "C" {
00028     extern struct {
00029         char PART1[8],PART2[8];
00030     } hwbmch_;
00031 }
00032 #define hwbmch hwbmch_
00033 
00034 //  COMMON/HWEVNT/AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM,
00035 //       & IDHW(NMXHEP),IERROR,ISTAT,LWEVT,MAXER,MAXPR,NOWGT,NRN(2),NUMER,
00036 //       & NUMERU,NWGTS,GENSOF
00037 const int herwig_hepevt_size = 4000;
00038 extern "C" {
00039     extern struct {
00040         double AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM;
00041         int IDHW[herwig_hepevt_size],IERROR,ISTAT,LWEVT,MAXER,MAXPR;
00042         int NOWGT,NRN[2],NUMER,NUMERU,NWGTS;
00043         int GENSOF; //Beware! in F77 this is logical
00044     } hwevnt_;
00045 }
00046 #define hwevnt hwevnt_
00047 
00048 //  C Basic parameters (and quantities derived from them)
00049 //        COMMON/HWPRAM/AFCH(16,2),ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
00050 //       & CLMAX,CLPOW,CLSMR(2),CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
00051 //       & GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL(4),PHIMIX,PIFAC,
00052 //       & PRSOF,PSPLT(2),PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH(16),QG,
00053 //       & QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH(16,2),VCKM(3,3),VGCUT,VQCUT,
00054 //       & VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME,
00055 //       & IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF(2),NBTRY,NCOLO,NCTRY,
00056 //       & NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT(2),NPRFMT,
00057 //       & AZSOFT,AZSPIN,CLDIR(2),HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,ZPRIME,
00058 //       & PRNDEF,PRNTEX,PRNWEB
00059 
00060 extern "C" {
00061     extern struct {
00062         double AFCH[2][16],ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
00063             CLMAX,CLPOW,CLSMR[2],CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
00064             GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL[4],PHIMIX,PIFAC,
00065             PRSOF,PSPLT[2],PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH[16],QG,
00066             QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH[2][16],VCKM[3][3],VGCUT,VQCUT,
00067             VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME;
00068         int IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF[2],NBTRY,NCOLO,NCTRY,
00069             NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT[2],NPRFMT;
00070         int AZSOFT,AZSPIN,CLDIR[2],HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,
00071             ZPRIME,PRNDEF,PRNTEX,PRNWEB; //Beware! in F77 these are logical
00072     } hwpram_;
00073 }
00074 #define hwpram hwpram_
00075 
00076 //--------------------------------------------------------------------------
00077 // HERWIG routines declaration
00078 
00079 #define hwigin hwigin_  // initialise other common blocks
00080 #define hwigup hwigup_  // initialise HepUP run common block
00081 #define hwuinc hwuinc_  // compute parameter-dependent constants
00082 #define hwusta hwusta_  // call hwusta to make any particle stable
00083 #define hweini hweini_  // initialise elementary process
00084 #define hwuine hwuine_  // initialise event
00085 #define hwepro hwepro_  // generate HERWIG hard subprocess
00086 #define hwupro hwupro_  // read USER hard subprocess from HepUP event common
00087 #define hwbgen hwbgen_  // generate parton cascades
00088 #define hwdhob hwdhob_  // do heavy object decays
00089 #define hwcfor hwcfor_  // do cluster hadronization
00090 #define hwcdec hwcdec_  // do cluster decay
00091 #define hwdhad hwdhad_  // do unstable particle decays
00092 #define hwdhvy hwdhvy_  // do heavy flavour decays
00093 #define hwmevt hwmevt_  // add soft underlying event if needed 
00094 #define hwufne hwufne_  // event generation completed, wrap up event .... 
00095 #define hwefin hwefin_  // terminate elementary process
00096 
00097 #define hwudpr hwudpr_  // prints out particle/decay properties
00098 #define hwuepr hwuepr_  // prints out event data
00099 #define hwupup hwupup_  // prints out HepEUP user common block event data
00100 #define hwegup hwegup_  // terminal calculations to replace HWEFIN for HepUP
00101     extern "C" {
00102         void hwigin(void);
00103         void hwigup(void);
00104         void hwuinc(void);
00105         void hwusta(const char*,int);
00106         void hweini(void);
00107         void hwuine(void);
00108         void hwepro(void);
00109         void hwupro(void);
00110         void hwbgen(void);
00111         void hwdhob(void);
00112         void hwcfor(void);
00113         void hwcdec(void);
00114         void hwdhad(void);
00115         void hwdhvy(void);
00116         void hwmevt(void);
00117         void hwufne(void);
00118         void hwefin(void);
00119         void hwudpr(void);
00120         void hwuepr(void);
00121         void hwupup(void);
00122         void hwegup(void);
00123     }
00124 
00125 //--------------------------------------------------------------------------
00126 // HERWIG block data
00127 // ( with gcc it works to initialize the block data by calling 
00128 //   "hwudat();" at beginning. )
00129 
00130 #define hwudat hwudat_
00131 extern "C" {
00132     void hwudat(void);
00133 }
00134 
00135 #endif  // HERWIG_WRAPPER_H
00136 //--------------------------------------------------------------------------
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:42 2011 for HepMC by doxygen 1.4.7