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 ]

  1 //
  2 // ********************************************************************
  3 // * License and Disclaimer                                           *
  4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.                             *
 10 // *                                                                  *
 11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                                                  *
 18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Software license.          *
 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 PARAMETERS
 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 INFORMATION
 56 //----------------------------------------------------------------------------
 57 
 58 //
 59 // HIMAIN1-> Global information of the events are defined
 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 undecayed particles
 69 //-------
 70 struct cchijinghimain2
 71 {
 72     G4int katt[4][130000];
 73     float patt[4][130000];
 74 };
 75 //--------
 76 // HIJJET1-> information about produced partons which
 77 //           are connected with the valence quarks, diquarks,...
 78 //--------
 79 struct cchijinghijjet1
 80 {
 81     G4int npj[300], kfpj[500][300];
 82     float pjpx[500][300], pjpy[500][300], pjpz[500][300], pjpe[500][300];
 83     float pjpm[500][300];
 84     G4int ntj[300], kftj[500][300];
 85     float pjtx[500][300], pjty[500][300], pjtz[500][300];
 86     float pjte[500][300], pjtm[500][300];
 87 };
 88 //--------
 89 // HIJJET1-> information about produced partons which
 90 //           will form string systems without being connected with
 91 //           valence quarks, diquarks,...
 92 // ------
 93 struct cchijinghijjet2
 94 {
 95     G4int nsg, njsg[900], iasg[3][900], k1sg[100][900];
 96     G4int k2sg[100][900];
 97     float pxsg[100][900], pysg[100][900], pzsg[100][900];
 98     float pesg[100][900], pmsg[100][900];
 99 };
100 
101 //------
102 // HISTRNG
103 // contain information about the projectile and target nucleons
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 specific information
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 type,
162   // collision frame and energy
163 
164   // extern void hijset_ (float*,
165   ////                     const char*, const char*,const char*,
166   //                     G4int*, G4int*, G4int*, G4int*);
167 
168   extern void hijset_(float*);
169 
170   // to generate a complete event as specified by sybroutine HIJSET
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 variables and initialize HIJING
180   // for each event
181 
182   extern void hijini_();
183 
184   // calculate cross sections for minijet production, cross section of
185   // the triggered processes, elastic, inelastic, total cross section..
186   extern void hijcrs_();
187 
188   //
189   // initialize program for generating hard scattering
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 processe
196   // or simulate one hard scattering among the multiple jet production
197   // per NN-collision
198 
199   extern void hijhrd_(G4int*, G4int*, G4int*, G4int*, G4int*);
200 
201   //
202   // generate soft interaction for each binary NN-collision
203 
204   extern void hijsft_(G4int*, G4int*, G4int*);
205 
206   // rearrange gluon jets in a string system according to their rapidities
207 
208   extern void hijsrt_(G4int*, G4int*);
209 
210   // perform jet quenching by allowing final state interaction of produced jet
211   // inside excited strings
212 
213   extern void quench_(G4int*, G4int*);
214 
215   //
216   // arrange produced partons together with the valence quarks and diquarks
217 
218   extern void hijfrg_(G4int*, G4int*, G4int*);
219 
220   // perform soft radiation according to the Lund dipole approx.
221 
222   extern void attrad_(G4int*);
223 
224   // generate flavor codes of the valence quark (diquark)
225   // inside a given nucleon (hadron).
226 
227   extern void attflv_(G4int*, G4int*, G4int*);
228 
229   // perform elastic scattering and possible elastic NN cascading
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 nuclei at a given impact parameter
238 
239   extern float profile_(float*);
240 
241   // transform the produced particles from c.m to lab frame
242 
243   extern void hiboost_();
244 
245   //----------------------------------------
246   // the default values of the parametrs and options to initialize
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