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