agile is hosted by Hepforge, IPPP Durham

FHerwigWrapper65.hh

Go to the documentation of this file.
00001 #ifndef AGILE_HERWIGWRAPPER65_HH
00002 #define AGILE_HERWIGWRAPPER65_HH
00003 
00004 #include <ctype.h>
00005 #include "AGILe/FHerwig/FHerwigWrapper.hh"
00006 
00009 
00010 
00011 extern "C" {
00012 
00013   // COMMON/HWPROC/EBEAM1,EBEAM2,PBEAM1,PBEAM2,IPROC,MAXEV
00014   #define FC_HWPROC FC_FUNC(hwproc, HWPROC)
00015   extern struct {
00016     double EBEAM1,EBEAM2,PBEAM1,PBEAM2;
00017     int IPROC,MAXEV;
00018   } FC_HWPROC;
00019 
00020 
00021   // CHARACTER*8 PART1,PART2
00022   // COMMON/HWBMCH/PART1,PART2
00023   #define FC_HWBMCH FC_FUNC(hwbmch, HWBMCH)
00024   extern struct {
00025     char PART1[8],PART2[8];
00026   } FC_HWBMCH;
00027 
00028 
00029   // INTEGER IPART1,IPART2
00030   // COMMON/HWBEAM/IPART1,IPART2
00031   #define FC_HWBEAM FC_FUNC(hwbeam, HWBEAM)
00032   extern struct {
00033     int IPART1,IPART2;
00034   } FC_HWBEAM;
00035 
00036 
00037   // COMMON/HWEVNT/AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM,
00038   // & IDHW(NMXHEP),IERROR,ISTAT,LWEVT,MAXER,MAXPR,NOWGT,NRN(2),NUMER,
00039   // & NUMERU,NWGTS,GENSOF
00040   const int herwig_hepevt_size = 10000;
00041   #define FC_HWEVNT FC_FUNC(hwevnt, HWEVNT)
00042   extern struct {
00043     double AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM;
00044     int IDHW[herwig_hepevt_size],IERROR,ISTAT,LWEVT,MAXER,MAXPR,
00045       NOWGT,NRN[2],NUMER,NUMERU,NWGTS;
00046     int GENSOF; // Beware! in F77 this is logical
00047   } FC_HWEVNT;
00048 
00049 
00050   // C Basic parameters (and quantities derived from them)
00051   // COMMON/HWPRAM/AFCH(16,2),ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
00052   // & CLMAX,CLPOW,CLSMR(2),CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
00053   // & GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL(4),PHIMIX,PIFAC,
00054   // & PRSOF,PSPLT(2),PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH(16),QG,
00055   // & QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH(16,2),VCKM(3,3),VGCUT,VQCUT,
00056   // & VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME,
00057   // & IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF(2),NBTRY,NCOLO,NCTRY,
00058   // & NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT(2),NPRFMT,
00059   // & AZSOFT,AZSPIN,CLDIR(2),HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,ZPRIME,
00060   // & PRNDEF,PRNTEX,PRNWEB
00061   #define FC_HWPRAM FC_FUNC(hwpram, HWPRAM)
00062   extern struct {
00063     double AFCH[2][16],ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
00064       CLMAX,CLPOW,CLSMR[2],CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
00065       GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL[4],PHIMIX,PIFAC,
00066       PRSOF,PSPLT[2],PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH[16],QG,
00067       QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH[2][16],VCKM[3][3],VGCUT,VQCUT,
00068       VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME;
00069     int IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF[2],NBTRY,NCOLO,NCTRY,
00070       NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT[2],NPRFMT;
00071     int AZSOFT,AZSPIN,CLDIR[2],HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,
00072       ZPRIME,PRNDEF,PRNTEX,PRNWEB; // In F77 these are logical
00073   } FC_HWPRAM;
00074 
00075 
00076   // COMMON/HWPRCH/AUTPDF(2),BDECAY
00077   #define FC_HWPRCH FC_FUNC(hwprch, HWPRCH)
00078   extern struct {
00079     char AUTPDF[2][20],BDECAY;
00080   } FC_HWPRCH;
00081 
00082 
00083   // COMMON /HW6506/PDFX0,PDFPOW
00084   #define FC_HW6506 FC_FUNC(hw6506, HW6506)
00085   extern struct {
00086     double PDFX0,PDFPOW;
00087   } FC_HW6506;
00088 
00089 
00090   // COMMON/HWUCLU/CLDKWT(NMXCDK),CTHRPW(12,12),PRECO,RESN(12,12),
00091   // & RMIN(12,12),LOCN(12,12),NCLDK(NMXCDK),NRECO,CLRECO
00092   const int nmxcdk = 4000;
00093   #define FC_HWUCLU FC_FUNC(hwuclu, HWUCLU)
00094   extern struct {
00095     double CLDKWT[nmxcdk],CTHRPW[12][12],PRECO,RESN[12][12],RMIN[12][12];
00096     int LOCN[12][12],NCLDK[nmxcdk],NRECO;
00097     int CLRECO; //< CLRECO is F77 logical.
00098   } FC_HWUCLU;
00099 
00100 
00101   // COMMON/HWHARD/ASFIXD,CLQ(7,6),COSS,COSTH,CTMAX,DISF(13,2),EMLST,
00102   // & EMMAX,EMMIN,EMPOW,EMSCA,EPOLN(3),GCOEF(7),GPOLN,OMEGA0,PHOMAS,
00103   // & PPOLN(3),PTMAX,PTMIN,PTPOW,Q2MAX,Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QLIM,
00104   // & SINS,THMAX,Y4JT,TMNISR,TQWT,XX(2),XLMIN,XXMIN,YBMAX,YBMIN,YJMAX,
00105   // & YJMIN,YWWMAX,YWWMIN,WHMIN,ZJMAX,ZMXISR,IAPHIG,IBRN(2),IBSH,
00106   // & ICO(10),IDCMF,IDN(10),IFLMAX,IFLMIN,IHPRO,IPRO,MAPQ(6),MAXFL,
00107   // & BGSHAT,COLISR,FSTEVT,FSTWGT,GENEV,HVFCEN,TPOL,DURHAM
00108   #define FC_HWHARD FC_FUNC(hwhard, HWHARD)
00109   extern struct {
00110     double ASFIXD,CLQ[6][7],COSS,COSTH,CTMAX,DISF[2][13],EMLST,EMMAX,
00111       EMMIN,EMPOW,EMSCA,EPOLN[3],GCOEF[7],GPOLN,OMEGA0,PHOMAS,PPOLN[3],
00112       PTMAX,PTMIN,PTPOW,Q2MAX,Q2MIN,Q2POW,Q2WWMN,Q2WWMX,QLIM,
00113       SINS,THMAX,Y4JT,TMNISR,TQWT,XX[2],XLMIN,XXMIN,YBMAX,YBMIN,YJMAX,
00114       YJMIN,YWWMAX,YWWMIN,WHMIN,ZJMAX,ZMXISR;
00115     int IAPHIG,IBRN[2],IBSH,ICO[10],IDCMF,IDN[10],IFLMAX,IFLMIN,IHPRO,
00116       IPRO,MAPQ[6],MAXFL,BGSHAT,COLISR,FSTEVT,FSTWGT,GENEV,HVFCEN,TPOL,DURHAM;
00117   } FC_HWHARD;
00118 
00119 
00120   #define FC_HWDIST FC_FUNC(hwdist, HWDIST)
00121   extern struct {
00122     double EXAG, GEV2MM, HBAR, PLTCUT, VMIN2, VTXPIP[5],
00123       XMIX[2], XMRCT[2], YMIX[2], YMRCT[2];
00124     int IOPDKL;
00125     int MAXDKL, MIXING, PIPSMR;
00126   } FC_HWDIST;
00127 
00128 
00129   #define FC_HWPROP FC_FUNC(hwprop, HWPROP)
00130   extern struct {
00131     double RLTIM[501], RMASS[501], RSPIN[501];
00132     int ICHRG[501], IDPDG[501], IFLAV[501], NRES;
00133     int VTOCDK[501], VTORDK[501];
00134     int QORQQB[501], QBORQQ[501];
00135   } FC_HWPROP;
00136 
00137 
00138   // HERWIG block data initializer: call "hwudat();" before starting
00139   #define FC_HWPUDAT FC_FUNC(hwudat, HWUDAT)
00140   void FC_HWUDAT(void);
00141 
00142 }
00143 
00144 #endif
Generated on Tue Mar 6 10:39:38 2012 for AGILe - A Generator Interface Library (+ executable) by  doxygen 1.6.3