Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 #ifndef G4HIJING_Interface_hh 27 #define G4HIJING_Interface_hh 28 29 // 30 // MODULE: G4HIJING_Model.hh 31 // 32 // Version: 1.B 33 // Date: 10/09/2013 34 // Author: Khaled Abdel-Waged 35 // Institute: Umm Al-Qura University 36 // Country: SAUDI ARABIA 37 // 38 39 // First: 1-COMMON BLOCK FOR OPTIONS AND PARAM 40 //----- 41 // HIPARNT 42 // input parameters 43 // HIPR1, HIPR2 for event options 44 // HINT1, HINT2 of current event 45 //--------------------------------- 46 struct cchijinghiparnt 47 { 48 float hipr1[100]; 49 G4int ihpr2[50]; 50 float hint1[100]; 51 G4int ihnt2[50]; 52 }; 53 54 //******************************************** 55 // Second: 5-COMMON BLOCKS FOR EVENT INFORMATI 56 //-------------------------------------------- 57 58 // 59 // HIMAIN1-> Global information of the events 60 // 61 struct cchijinghimain1 62 { 63 G4int natt; 64 float eatt; 65 G4int jatt, nt, np, n0, n01, n10, n11; 66 }; 67 //----------- 68 // HIMAIN2->information of produced stable and 69 //------- 70 struct cchijinghimain2 71 { 72 G4int katt[4][130000]; 73 float patt[4][130000]; 74 }; 75 //-------- 76 // HIJJET1-> information about produced parton 77 // are connected with the valence qu 78 //-------- 79 struct cchijinghijjet1 80 { 81 G4int npj[300], kfpj[500][300]; 82 float pjpx[500][300], pjpy[500][300], pjpz 83 float pjpm[500][300]; 84 G4int ntj[300], kftj[500][300]; 85 float pjtx[500][300], pjty[500][300], pjtz 86 float pjte[500][300], pjtm[500][300]; 87 }; 88 //-------- 89 // HIJJET1-> information about produced parton 90 // will form string systems without 91 // valence quarks, diquarks,... 92 // ------ 93 struct cchijinghijjet2 94 { 95 G4int nsg, njsg[900], iasg[3][900], k1sg[1 96 G4int k2sg[100][900]; 97 float pxsg[100][900], pysg[100][900], pzsg 98 float pesg[100][900], pmsg[100][900]; 99 }; 100 101 //------ 102 // HISTRNG 103 // contain information about the projectile an 104 //----- 105 struct cchijinghistrng 106 { 107 G4int nfp[15][300]; 108 float pp[15][300]; 109 G4int nft[15][300]; 110 float pt[15][300]; 111 }; 112 //******************************************** 113 // third: 2-COMMON BLOCKS which contain specif 114 //-------------------------------------------- 115 116 struct cchijinghijjet4 117 { 118 G4int ndr, iadr[2][900], kfdr[900]; 119 float pdr[5][900]; 120 }; 121 122 struct cchijinghijcrdn 123 { 124 float yp[300][3], yt[300][3]; 125 }; 126 //-------------------------------------------- 127 // fourth: 5-Other common blocks 128 // ------------------------------------------- 129 130 struct cchijingbveg1 131 { 132 float xl, xu, acc; 133 G4int ndim, ncall, itmx, nprn; 134 }; 135 136 struct cchijingseedvax 137 { 138 G4int num1; 139 }; 140 141 struct cchijingranseed 142 { 143 float nseed; 144 }; 145 146 struct cchijinghijdat 147 { 148 float hidat0[10][10], hidat[10]; 149 }; 150 151 struct cchijinghipyint 152 { 153 G4int mint4, mint5; 154 float atco[20][200], atxs[200 + 1]; 155 }; 156 157 // hijing 158 159 extern "C" 160 { 161 // initialize HIJING for specified event typ 162 // collision frame and energy 163 164 // extern void hijset_ (float*, 165 //// const char*, const 166 // G4int*, G4int*, G4int 167 168 extern void hijset_(float*); 169 170 // to generate a complete event as specified 171 172 // extern void hijing_ (const char*, 173 // float*, float*); 174 175 extern void hijing_(float*, float*); 176 177 extern float ulmass_(G4int*); 178 179 // reset all relevant common blocks and vari 180 // for each event 181 182 extern void hijini_(); 183 184 // calculate cross sections for minijet prod 185 // the triggered processes, elastic, inelast 186 extern void hijcrs_(); 187 188 // 189 // initialize program for generating hard sc 190 // as specified by parameters and options 191 192 extern void jetini_(G4int*, G4int*, G4int*); 193 // 194 195 // re-initiate PYTHIA for the triggered hard 196 // or simulate one hard scattering among the 197 // per NN-collision 198 199 extern void hijhrd_(G4int*, G4int*, G4int*, 200 201 // 202 // generate soft interaction for each binary 203 204 extern void hijsft_(G4int*, G4int*, G4int*); 205 206 // rearrange gluon jets in a string system a 207 208 extern void hijsrt_(G4int*, G4int*); 209 210 // perform jet quenching by allowing final s 211 // inside excited strings 212 213 extern void quench_(G4int*, G4int*); 214 215 // 216 // arrange produced partons together with th 217 218 extern void hijfrg_(G4int*, G4int*, G4int*); 219 220 // perform soft radiation according to the L 221 222 extern void attrad_(G4int*); 223 224 // generate flavor codes of the valence quar 225 // inside a given nucleon (hadron). 226 227 extern void attflv_(G4int*, G4int*, G4int*); 228 229 // perform elastic scattering and possible e 230 231 extern void hijcsc_(G4int*, G4int*); 232 233 // three parameter Wood-Sax distribution 234 235 extern void hijwds_(G4int*, G4int*, float*); 236 237 // gives profile function of 2 colliding nuc 238 239 extern float profile_(float*); 240 241 // transform the produced particles from c.m 242 243 extern void hiboost_(); 244 245 //---------------------------------------- 246 // the default values of the parametrs and o 247 // the event record common blocks 248 249 extern void g4hijingblockdata_(); 250 // ---------------------- 251 // random generator 252 253 extern void rlu_(G4int*); 254 255 //----------------------------------------- 256 extern struct cchijinghiparnt hiparnt_; 257 258 extern struct cchijinghimain1 himain1_; 259 extern struct cchijinghimain2 himain2_; 260 261 extern struct cchijinghijjet1 hijjet1_; 262 extern struct cchijinghijjet2 hijjet2_; 263 264 extern struct cchijinghistrng histrng_; 265 266 extern struct cchijinghijjet4 hijjet4_; 267 268 extern struct cchijinghijcrdn hijcrdn_; 269 270 extern struct cchijingbveg1 bveg1_; 271 272 extern struct cchijingseedvax seedvax_; 273 274 extern struct cchijingranseed ranseed_; 275 276 extern struct cchijinghijdat hijdat_; 277 278 extern struct cchijinghipyint hipyint_; 279 } 280 281 #endif 282