![]() |
|
|||
File indexing completed on 2025-04-04 08:05:11
0001 // 0002 // ******************************************************************** 0003 // * License and Disclaimer * 0004 // * * 0005 // * The Geant4 software is copyright of the Copyright Holders of * 0006 // * the Geant4 Collaboration. It is provided under the terms and * 0007 // * conditions of the Geant4 Software License, included in the file * 0008 // * LICENSE and available at http://cern.ch/geant4/license . These * 0009 // * include a list of copyright holders. * 0010 // * * 0011 // * Neither the authors of this software system, nor their employing * 0012 // * institutes,nor the agencies providing financial support for this * 0013 // * work make any representation or warranty, express or implied, * 0014 // * regarding this software system or assume any liability for its * 0015 // * use. Please see the license in the file LICENSE and URL above * 0016 // * for the full disclaimer and the limitation of liability. * 0017 // * * 0018 // * This code implementation is the result of the scientific and * 0019 // * technical work of the GEANT4 collaboration. * 0020 // * By using, copying, modifying or distributing the software (or * 0021 // * any work based on the software) you agree to acknowledge its * 0022 // * use in resulting scientific publications, and indicate your * 0023 // * acceptance of all terms of the Geant4 Software license. * 0024 // ******************************************************************** 0025 // 0026 #ifndef G4HIJING_Interface_hh 0027 #define G4HIJING_Interface_hh 0028 0029 // 0030 // MODULE: G4HIJING_Model.hh 0031 // 0032 // Version: 1.B 0033 // Date: 10/09/2013 0034 // Author: Khaled Abdel-Waged 0035 // Institute: Umm Al-Qura University 0036 // Country: SAUDI ARABIA 0037 // 0038 0039 // First: 1-COMMON BLOCK FOR OPTIONS AND PARAMETERS 0040 //----- 0041 // HIPARNT 0042 // input parameters 0043 // HIPR1, HIPR2 for event options 0044 // HINT1, HINT2 of current event 0045 //--------------------------------- 0046 struct cchijinghiparnt 0047 { 0048 float hipr1[100]; 0049 G4int ihpr2[50]; 0050 float hint1[100]; 0051 G4int ihnt2[50]; 0052 }; 0053 0054 //**************************************************************************** 0055 // Second: 5-COMMON BLOCKS FOR EVENT INFORMATION 0056 //---------------------------------------------------------------------------- 0057 0058 // 0059 // HIMAIN1-> Global information of the events are defined 0060 // 0061 struct cchijinghimain1 0062 { 0063 G4int natt; 0064 float eatt; 0065 G4int jatt, nt, np, n0, n01, n10, n11; 0066 }; 0067 //----------- 0068 // HIMAIN2->information of produced stable and undecayed particles 0069 //------- 0070 struct cchijinghimain2 0071 { 0072 G4int katt[4][130000]; 0073 float patt[4][130000]; 0074 }; 0075 //-------- 0076 // HIJJET1-> information about produced partons which 0077 // are connected with the valence quarks, diquarks,... 0078 //-------- 0079 struct cchijinghijjet1 0080 { 0081 G4int npj[300], kfpj[500][300]; 0082 float pjpx[500][300], pjpy[500][300], pjpz[500][300], pjpe[500][300]; 0083 float pjpm[500][300]; 0084 G4int ntj[300], kftj[500][300]; 0085 float pjtx[500][300], pjty[500][300], pjtz[500][300]; 0086 float pjte[500][300], pjtm[500][300]; 0087 }; 0088 //-------- 0089 // HIJJET1-> information about produced partons which 0090 // will form string systems without being connected with 0091 // valence quarks, diquarks,... 0092 // ------ 0093 struct cchijinghijjet2 0094 { 0095 G4int nsg, njsg[900], iasg[3][900], k1sg[100][900]; 0096 G4int k2sg[100][900]; 0097 float pxsg[100][900], pysg[100][900], pzsg[100][900]; 0098 float pesg[100][900], pmsg[100][900]; 0099 }; 0100 0101 //------ 0102 // HISTRNG 0103 // contain information about the projectile and target nucleons 0104 //----- 0105 struct cchijinghistrng 0106 { 0107 G4int nfp[15][300]; 0108 float pp[15][300]; 0109 G4int nft[15][300]; 0110 float pt[15][300]; 0111 }; 0112 //**************************************************************************** 0113 // third: 2-COMMON BLOCKS which contain specific information 0114 //---------------------------------------------------------------------------- 0115 0116 struct cchijinghijjet4 0117 { 0118 G4int ndr, iadr[2][900], kfdr[900]; 0119 float pdr[5][900]; 0120 }; 0121 0122 struct cchijinghijcrdn 0123 { 0124 float yp[300][3], yt[300][3]; 0125 }; 0126 //--------------------------------------------------------- 0127 // fourth: 5-Other common blocks 0128 // -------------------------------------------------------- 0129 0130 struct cchijingbveg1 0131 { 0132 float xl, xu, acc; 0133 G4int ndim, ncall, itmx, nprn; 0134 }; 0135 0136 struct cchijingseedvax 0137 { 0138 G4int num1; 0139 }; 0140 0141 struct cchijingranseed 0142 { 0143 float nseed; 0144 }; 0145 0146 struct cchijinghijdat 0147 { 0148 float hidat0[10][10], hidat[10]; 0149 }; 0150 0151 struct cchijinghipyint 0152 { 0153 G4int mint4, mint5; 0154 float atco[20][200], atxs[200 + 1]; 0155 }; 0156 0157 // hijing 0158 0159 extern "C" 0160 { 0161 // initialize HIJING for specified event type, 0162 // collision frame and energy 0163 0164 // extern void hijset_ (float*, 0165 //// const char*, const char*,const char*, 0166 // G4int*, G4int*, G4int*, G4int*); 0167 0168 extern void hijset_(float*); 0169 0170 // to generate a complete event as specified by sybroutine HIJSET 0171 0172 // extern void hijing_ (const char*, 0173 // float*, float*); 0174 0175 extern void hijing_(float*, float*); 0176 0177 extern float ulmass_(G4int*); 0178 0179 // reset all relevant common blocks and variables and initialize HIJING 0180 // for each event 0181 0182 extern void hijini_(); 0183 0184 // calculate cross sections for minijet production, cross section of 0185 // the triggered processes, elastic, inelastic, total cross section.. 0186 extern void hijcrs_(); 0187 0188 // 0189 // initialize program for generating hard scattering 0190 // as specified by parameters and options 0191 0192 extern void jetini_(G4int*, G4int*, G4int*); 0193 // 0194 0195 // re-initiate PYTHIA for the triggered hard processe 0196 // or simulate one hard scattering among the multiple jet production 0197 // per NN-collision 0198 0199 extern void hijhrd_(G4int*, G4int*, G4int*, G4int*, G4int*); 0200 0201 // 0202 // generate soft interaction for each binary NN-collision 0203 0204 extern void hijsft_(G4int*, G4int*, G4int*); 0205 0206 // rearrange gluon jets in a string system according to their rapidities 0207 0208 extern void hijsrt_(G4int*, G4int*); 0209 0210 // perform jet quenching by allowing final state interaction of produced jet 0211 // inside excited strings 0212 0213 extern void quench_(G4int*, G4int*); 0214 0215 // 0216 // arrange produced partons together with the valence quarks and diquarks 0217 0218 extern void hijfrg_(G4int*, G4int*, G4int*); 0219 0220 // perform soft radiation according to the Lund dipole approx. 0221 0222 extern void attrad_(G4int*); 0223 0224 // generate flavor codes of the valence quark (diquark) 0225 // inside a given nucleon (hadron). 0226 0227 extern void attflv_(G4int*, G4int*, G4int*); 0228 0229 // perform elastic scattering and possible elastic NN cascading 0230 0231 extern void hijcsc_(G4int*, G4int*); 0232 0233 // three parameter Wood-Sax distribution 0234 0235 extern void hijwds_(G4int*, G4int*, float*); 0236 0237 // gives profile function of 2 colliding nuclei at a given impact parameter 0238 0239 extern float profile_(float*); 0240 0241 // transform the produced particles from c.m to lab frame 0242 0243 extern void hiboost_(); 0244 0245 //---------------------------------------- 0246 // the default values of the parametrs and options to initialize 0247 // the event record common blocks 0248 0249 extern void g4hijingblockdata_(); 0250 // ---------------------- 0251 // random generator 0252 0253 extern void rlu_(G4int*); 0254 0255 //----------------------------------------- 0256 extern struct cchijinghiparnt hiparnt_; 0257 0258 extern struct cchijinghimain1 himain1_; 0259 extern struct cchijinghimain2 himain2_; 0260 0261 extern struct cchijinghijjet1 hijjet1_; 0262 extern struct cchijinghijjet2 hijjet2_; 0263 0264 extern struct cchijinghistrng histrng_; 0265 0266 extern struct cchijinghijjet4 hijjet4_; 0267 0268 extern struct cchijinghijcrdn hijcrdn_; 0269 0270 extern struct cchijingbveg1 bveg1_; 0271 0272 extern struct cchijingseedvax seedvax_; 0273 0274 extern struct cchijingranseed ranseed_; 0275 0276 extern struct cchijinghijdat hijdat_; 0277 0278 extern struct cchijinghipyint hipyint_; 0279 } 0280 0281 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |