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