00001 #ifndef AGILE_CASCADE_WRAPPER2_HH 00002 #define AGILE_CASCADE_WRAPPER2_HH 00003 00005 // Cascade common block declarations 00006 // hschulz@physik.hu-berlin.de, February 2010 00007 // Version 2.01 December 2007 00008 // Wrapper for FORTRAN version of Cascade 00010 00011 #include <ctype.h> 00012 #include <cstring> 00013 #include "AGILe/Cascade/CascadeWrapper.hh" 00014 00015 00016 extern "C" { 00018 //Beams (to access info) 00019 #define FC_CABEAM FC_FUNC(cabeam, CABEAM) 00020 extern struct { 00021 double PBEAM[2]; 00022 double KBEAM[2]; 00023 double PBE1,PBE2; 00024 } FC_CABEAM; 00025 00026 // Parameters for process steering 00027 #define FC_CAINPU FC_FUNC(cainpu, CAINPU) 00028 extern struct { 00029 // int NFRAG,ILEPTO,IHF, ? 00030 // not used: ISEMIH 00031 double PLEPIN,PPIN; //momenta of incoming lepton, proton 00032 //int LEPI,HADI; // PDGids of incoming particles 00033 int IFPS,INTER,ILHA; // parton shower, inclusion of priordial kt for diff processes, interaction type switch 00034 } FC_CAINPU; 00035 00036 // ??? 00037 #define FC_CAHERUP FC_FUNC(caherup, CAHERUP) 00038 extern struct { 00039 int Ilha; // Ilha sets treatment of remnants 00040 } FC_CAHERUP; 00041 00042 00043 // Parameters for nuber of generation tries... 00044 #define FC_CAEFFIC FC_FUNC(caeffic, CAEFFIC) 00045 extern struct { 00046 double AVGI,SD; 00047 int NIN,NOUT; 00048 } FC_CAEFFIC; 00049 00050 // Buchmueller ??? 00051 #define FC_BUCHMUE FC_FUNC(buchmue, BUCHMUE) 00052 extern struct { 00053 double C1,Cg; 00054 } FC_BUCHMUE; 00055 00056 // My first attempt, resolved photons, see manual section 4.7 00057 #define FC_COLCON FC_FUNC(colcon, COLCON) 00058 extern struct { 00059 int ICOLORA,IRESPRO,IRPA,IRPB,IRPC,IRPD,IRPE,IRPF,IRPG; 00060 } FC_COLCON; 00061 00062 // Parameters for diffraction 00063 #define FC_DIFFR FC_FUNC(diffr, DIFFR) 00064 extern struct { 00065 double T2MAX,XF,ALPHP,RN2,EPSP,QMI,YMI,QMA,YMA; 00066 int NG,NPOM; 00067 } FC_DIFFR; 00068 00069 // Parameters for hard subprocess selection (DIS) 00070 #define FC_DISDIF FC_FUNC(disdif, DISDIF) 00071 extern struct { 00072 int IDIR,IDISIDF; 00073 } FC_DISDIF; 00074 00075 // Parameters for min/max electron scattering angle (degree) 00076 #define FC_ELECT FC_FUNC(elect, ELECT) 00077 extern struct { 00078 double THEMA,THEMI; 00079 } FC_ELECT; 00080 00081 // Parameters for electroweak stuff: sin2thetaWeinberg, M_W^2 00082 #define FC_EWEAK FC_FUNC(eweak, EWEAK) 00083 extern struct { 00084 double SIN2W,MW2; 00085 } FC_EWEAK; 00086 00087 // Parameters for structure function F2 ??? 00088 #define FC_F2INT FC_FUNC(f2int, F2INT) 00089 extern struct { 00090 // double ? F2DIS,F2DIS,F2PI; 00091 } FC_F2INT; 00092 00093 // Parameters for bookkeeping inside event record format??? 00094 #define FC_HARD FC_FUNC(hard, HARD) 00095 extern struct { 00096 int NFT; // total number of final particles in 2to2 processes 00097 int NIA1,NIR1,NIA2,NIR2,NF1,NF2; 00098 } FC_HARD; 00099 00100 00101 // Parameters for exponential low Q2 suppression (possible tuning parameter) 00102 #define FC_LOWQ2 FC_FUNC(lowq2, LOWQ2) 00103 extern struct { 00104 double Q2SUPP; 00105 } FC_LOWQ2; 00106 00107 // Parameters for accessing information of ??? 00108 #define FC_MEINFO FC_FUNC(meinfo, MEINFO) 00109 extern struct { 00110 double ZQGKI,XPGKI,PHIGKI; 00111 } FC_MEINFO; 00112 00113 // Parameters for 00114 #define FC_OALPINI FC_FUNC(oalpini, OALPINI) 00115 extern struct { 00116 int IFULL,IQCDGRID; // Switches for lowest order or quark parton model process, O(a_S) generation on a grid 00117 } FC_OALPINI; 00118 00119 // Parameters for 00120 #define FC_PARAE FC_FUNC(parae, PARAE) 00121 extern struct { 00122 double Q2; // actual Q2 of gammas in lepto-production 00123 double Q2Q; // Scale mu^2 of hard scattering in a_S and structure functions 00124 // PCM??? 00125 } FC_PARAE; 00126 00127 // Parameters for 00128 #define FC_PARAM FC_FUNC(param, PARAM) 00129 extern struct { 00130 double ALPHS,ALPH; // actual a_S, a_em 00131 double PI; // well ... pi! 00132 //double ? IWEI 00133 } FC_PARAM; 00134 00135 // Parameters for 00136 #define FC_PARAT FC_FUNC(parat, PARAT) 00137 extern struct { 00138 double AM[18]; // vector of final state particle masse 00139 double SHAT; // s^hat in hard sub processes 00140 double YMAX,YMIN; // upper and lower boundaries for y 00141 double QMAX,QMIN; // upper and lower boundaries for Q2 of photons 00142 double XMAX,XMIN; // upper and lower boundaries for x 00143 } FC_PARAT; 00144 00145 // Parameters for random seed 00146 #define FC_ISEED FC_FUNC(iseed, ISEED) 00147 extern struct { 00148 int ISEED; 00149 } FC_ISEED; 00150 00151 // Parameters for PTCUT 00152 #define FC_PTCUT FC_FUNC(ptcut, PTCUT) 00153 extern struct { 00154 double PT2CUT[100]; 00155 } FC_PTCUT; 00156 00157 // Parameters for run setup 00158 #define FC_RAPA FC_FUNC(rapa, RAPA) 00159 extern struct { 00160 int IPRO; 00161 } FC_RAPA; 00162 00164 //#define FC_ FC_FUNC() 00165 //extern struct { 00166 //} FC_; 00167 00169 //#define FC_ FC_FUNC() 00170 //extern struct { 00171 //} FC_; 00172 00174 //#define FC_ FC_FUNC() 00175 //extern struct { 00176 //} FC_; 00177 00179 //#define FC_ FC_FUNC() 00180 //extern struct { 00181 //} FC_; 00182 00184 //#define FC_ FC_FUNC() 00185 //extern struct { 00186 //} FC_; 00187 00189 //#define FC_ FC_FUNC() 00190 //extern struct { 00191 //} FC_; 00192 00194 //#define FC_ FC_FUNC() 00195 //extern struct { 00196 //} FC_; 00197 00199 //#define FC_ FC_FUNC() 00200 //extern struct { 00201 //} FC_; 00202 00204 //#define FC_ FC_FUNC() 00205 //extern struct { 00206 //} FC_; 00207 00209 //#define FC_ FC_FUNC() 00210 //extern struct { 00211 //} FC_; 00212 00214 //#define FC_ FC_FUNC() 00215 //extern struct { 00216 //} FC_; 00217 00219 //#define FC_ FC_FUNC() 00220 //extern struct { 00221 //} FC_; 00222 00223 00224 00225 00226 } 00227 00228 #endif