Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/hadronic/Hadr02/include/G4HIJING_Interface.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/extended/hadronic/Hadr02/include/G4HIJING_Interface.hh (Version 11.3.0) and /examples/extended/hadronic/Hadr02/include/G4HIJING_Interface.hh (Version 10.1.p2)


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