]>
Commit | Line | Data |
---|---|---|
9ef1c2d9 | 1 | /* |
2 | *################################################################### | |
3 | *# EPOS 1.67 K. WERNER, T. PIEROG, S. PORTEBOEUF. # | |
4 | *# Contact: werner@subatech.in2p3.fr # | |
5 | *################################################################### | |
6 | * | |
7 | * EPOScommon.h | |
8 | * | |
9 | * Definitions of common blocks | |
10 | * | |
11 | * Author: Piotr Ostrowski, postrow@if.pw.edu.pl | |
12 | */ | |
13 | ||
14 | #ifndef EPOSCOMMON_H_ | |
15 | #define EPOSCOMMON_H_ | |
16 | ||
17 | #ifndef __CFORTRAN_LOADED | |
18 | //*KEEP,cfortran. | |
19 | #include <cfortran.h> | |
20 | //*KEND. | |
21 | #endif | |
22 | ||
23 | #define MXJERR 10 | |
24 | #define MXPTL 200000 | |
25 | ||
26 | /* Common blocks */ | |
27 | extern "C" { | |
28 | //-------------------------------------------------------------------------- | |
29 | // epos event common block | |
30 | //--------------------------------------------------------------------------- | |
31 | // | |
32 | // common/cevt/phievt,nevt,bimevt,kolevt,koievt,pmxevt,egyevt,npjevt | |
33 | // *,ntgevt,npnevt,nppevt,ntnevt,ntpevt,jpnevt,jppevt,jtnevt,jtpevt | |
34 | // *,xbjevt,qsqevt,nglevt,zppevt,zptevt,minfra,maxfra | |
35 | // | |
36 | // nevt .......... error code. 1=valid event, 0=invalid event | |
37 | // bimevt ........ absolute value of impact parameter | |
38 | // phievt ........ angle of impact parameter | |
39 | // kolevt ........ number of collisions | |
40 | // koievt ........ number of inelastic collisions | |
41 | // pmxevt ........ reference momentum | |
42 | // egyevt ........ pp cm energy (hadron) or string energy (lepton) | |
43 | // npjevt ........ number of primary projectile participants | |
44 | // ntgevt ........ number of primary target participants | |
45 | // npnevt ........ number of primary projectile neutron spectators | |
46 | // nppevt ........ number of primary projectile proton spectators | |
47 | // ntnevt ........ number of primary target neutron spectators | |
48 | // ntpevt ........ number of primary target proton spectators | |
49 | // jpnevt ........ number of absolute projectile neutron spectators | |
50 | // jppevt ........ number of absolute projectile proton spectators | |
51 | // jtnevt ........ number of absolute target neutron spectators | |
52 | // jtpevt ........ number of absolute target proton spectators | |
53 | // xbjevt ........ bjorken x for dis | |
54 | // qsqevt ........ q**2 for dis | |
55 | // sigtot ........ total cross section | |
56 | // nglevt ........ number of collisions acc to Glauber | |
57 | // zppevt ........ average Z-parton-proj | |
58 | // zptevt ........ average Z-parton-targ | |
59 | ||
60 | typedef struct { | |
61 | Float_t phievt; | |
62 | Int_t nevt; | |
63 | Float_t bimevt; | |
64 | Int_t kolevt,koievt; | |
65 | Float_t pmxevt,egyevt; | |
66 | Int_t npjevt,ntgevt,npnevt,nppevt,ntnevt,ntpevt,jpnevt,jppevt,jtnevt,jtpevt; | |
67 | Float_t xbjevt,qsqevt; | |
68 | Int_t nglevt; | |
69 | Float_t zppevt,zptevt; | |
70 | Int_t minfra,maxfra; | |
71 | } CevtCommon; | |
72 | ||
73 | #define cevt COMMON_BLOCK(cevt,cevt) | |
74 | COMMON_BLOCK_DEF(CevtCommon,cevt); | |
75 | ||
76 | //--------------------------------------------------------------------------- | |
77 | // epos particle list common block | |
78 | //--------------------------------------------------------------------------- | |
79 | // | |
80 | // common/cptl/nptl,pptl(5,mxptl),iorptl(mxptl),idptl(mxptl) | |
81 | // *,istptl(mxptl),tivptl(2,mxptl),ifrptl(2,mxptl),jorptl(mxptl) | |
82 | // *,xorptl(4,mxptl),ibptl(4,mxptl),ityptl(mxptl) | |
83 | // common/c1ptl/itsptl(mxptl) | |
84 | // | |
85 | // nptl .......... current particle index (=number of ptls stored) | |
86 | // idptl(i) ...... particle id | |
87 | // pptl(1,i) ..... x-component of particle momentum | |
88 | // pptl(2,i) ..... y-component of particle momentum | |
89 | // pptl(3,i) ..... z-component of particle momentum | |
90 | // pptl(4,i) ..... particle energy | |
91 | // pptl(5,i) ..... particle mass | |
92 | // iorptl(i) ..... particle number of father (if .le. 0 : no father) | |
93 | // jorptl(i) ..... particle number of mother (if .le. 0 : no mother) | |
94 | // istptl(i) ..... status: 40 and 41 : Remnant | |
95 | // 30 and 31 : Pomeron | |
96 | // 20 and 21 : Parton | |
97 | // 10 and 11 : Droplet | |
98 | // 00 and 01 : Particle | |
99 | // last digit = 0 : last generation | |
100 | // last digit = 1 : not last generation | |
101 | // xorptl(1,i) ... x-component of formation point | |
102 | // xorptl(2,i) ... y-component of formation point | |
103 | // xorptl(3,i) ... z-component of formation point | |
104 | // xorptl(4,i) ... formation time | |
105 | // tivptl(1,i) ... formation time (always in the pp-cms!) | |
106 | // tivptl(2,i) ... destruction time (always in the pp-cms!) | |
107 | // ityptl(i) .... type of particles origin: | |
108 | // 10-19: target | |
109 | // 20-29: soft Pom | |
110 | // 30-39: hard Pom | |
111 | // 40-49: projectile | |
112 | // 50: string, droplet | |
113 | // itsptl(i) ..... string type of particles origin (if string) | |
114 | // common/cptl/nptl,pptl(5,mxptl),iorptl(mxptl),idptl(mxptl) | |
115 | // *,istptl(mxptl),tivptl(2,mxptl),ifrptl(2,mxptl),jorptl(mxptl) | |
116 | // *,xorptl(4,mxptl),ibptl(4,mxptl),ityptl(mxptl) | |
117 | ||
118 | typedef struct { | |
119 | Int_t nptl; | |
120 | Float_t pptl[MXPTL][5]; | |
121 | Int_t iorptl[MXPTL]; | |
122 | Int_t idptl[MXPTL]; | |
123 | Int_t istptl[MXPTL]; | |
124 | Float_t tivptl[MXPTL][2]; | |
125 | Int_t ifrptl[MXPTL][2]; | |
126 | Int_t jorptl[MXPTL]; | |
127 | Float_t xorptl[MXPTL][4]; | |
128 | Int_t ibptl[MXPTL][4]; | |
129 | Int_t ityptl[MXPTL]; | |
130 | } CptlCommon; | |
131 | ||
132 | #define cptl COMMON_BLOCK(cptl,cptl) | |
133 | COMMON_BLOCK_DEF(CptlCommon,cptl); | |
134 | ||
135 | typedef struct { | |
136 | Int_t itsptl[MXPTL]; | |
137 | } ClptCommon; | |
138 | ||
139 | #define clpt COMMON_BLOCK(clpt,clpt) | |
140 | COMMON_BLOCK_DEF(ClptCommon,clpt); | |
141 | ||
142 | /*=========================*/ | |
143 | /*common/copen/nopen,nopenr*/ | |
144 | /*-------------------------*/ | |
145 | typedef struct { | |
146 | Int_t nopen; | |
147 | Int_t nopenr; | |
148 | } CopenCommon; | |
149 | ||
150 | #define copen COMMON_BLOCK(copen,copen) | |
151 | COMMON_BLOCK_DEF(CopenCommon,copen); | |
152 | ||
153 | /*================================================================*/ | |
154 | /*common/prnt1/iprmpt,ish,ishsub,irandm,irewch,iecho,modsho,idensi*/ | |
155 | /*----------------------------------------------------------------*/ | |
156 | typedef struct { | |
157 | Int_t iprmpt, ish, ishsub, irandm, irewch, iecho, modsho, idensi; | |
158 | } Prnt1Common; | |
159 | ||
160 | #define prnt1 COMMON_BLOCK(prnt1,prnt1) | |
161 | COMMON_BLOCK_DEF(Prnt1Common,prnt1); | |
162 | ||
163 | /*========================*/ | |
164 | /*common/appli/iappl,model*/ | |
165 | /*------------------------*/ | |
166 | typedef struct { | |
167 | Int_t iappl, model; | |
168 | } AppliCommon; | |
169 | ||
170 | #define appli COMMON_BLOCK(appli,appli) | |
171 | COMMON_BLOCK_DEF(AppliCommon,appli); | |
172 | ||
173 | /*=========================================*/ | |
174 | /*common/enrgy/egymin,egymax,elab,ecms,ekin*/ | |
175 | /*-----------------------------------------*/ | |
176 | typedef struct { | |
177 | Float_t egymin, egymax, elab, ecms, ekin; | |
178 | } EnrgyCommon; | |
179 | ||
180 | #define enrgy COMMON_BLOCK(enrgy,enrgy) | |
181 | COMMON_BLOCK_DEF(EnrgyCommon,enrgy); | |
182 | ||
183 | /*=============================================*/ | |
184 | /*common/lept1/engy,elepti,elepto,angmue,icinpu*/ | |
185 | /*---------------------------------------------*/ | |
186 | typedef struct { | |
187 | Float_t engy,elepti,elepto,angmue; | |
188 | Int_t icinpu; | |
189 | } Lept1Common; | |
190 | ||
191 | #define lept1 COMMON_BLOCK(lept1,lept1) | |
192 | COMMON_BLOCK_DEF(Lept1Common,lept1); | |
193 | ||
194 | /*=====================================================*/ | |
195 | /*common/ebin/noebin,engmin,engmax,nrebin,iologe,iologl*/ | |
196 | /*-----------------------------------------------------*/ | |
197 | typedef struct { | |
198 | Int_t noebin; | |
199 | Float_t engmin,engmax; | |
200 | Int_t nrebin,iologe,iologl; | |
201 | } EbinCommon; | |
202 | ||
203 | #define ebin COMMON_BLOCK(ebin,ebin) | |
204 | COMMON_BLOCK_DEF(EbinCommon,ebin); | |
205 | ||
206 | /*==========================================*/ | |
207 | /*common/events/nevent,nfull,nfreeze,ninicon*/ | |
208 | /*------------------------------------------*/ | |
209 | typedef struct { | |
210 | Int_t nevent,nfull,nfreeze,ninicon; | |
211 | } EventsCommon; | |
212 | ||
213 | #define events COMMON_BLOCK(events,events) | |
214 | COMMON_BLOCK_DEF(EventsCommon,events); | |
215 | ||
216 | /*=============================================*/ | |
217 | /*common/sprio/ispherio,icotabm,icotabr,icocore*/ | |
218 | /*---------------------------------------------*/ | |
219 | typedef struct { | |
220 | Int_t ispherio,icotabm,icotabr,icocore; | |
221 | } SprioCommon; | |
222 | ||
223 | #define sprio COMMON_BLOCK(sprio,sprio) | |
224 | COMMON_BLOCK_DEF(SprioCommon,sprio); | |
225 | ||
226 | /*============================================================*/ | |
227 | /*common/accum/imsg,jerr(mxjerr),ntevt,nrevt,naevt,nrstr,nrptl*/ | |
228 | /*------------------------------------------------------------*/ | |
229 | typedef struct { | |
230 | Int_t imsg,jerr[MXJERR],ntevt,nrevt,naevt,nrstr,nrptl; | |
231 | } AccumCommon; | |
232 | ||
233 | #define accum COMMON_BLOCK(accum,accum) | |
234 | COMMON_BLOCK_DEF(AccumCommon,accum); | |
235 | ||
236 | /*==================================================================*/ | |
237 | /*common/othe1/istore,istmax,gaumx,irescl,ntrymx,nclean,iopdg,ioidch*/ | |
238 | /*------------------------------------------------------------------*/ | |
239 | typedef struct { | |
240 | Int_t istore,istmax; | |
241 | Double_t gaumx; | |
242 | Int_t irescl,ntrymx,nclean,iopdg,ioidch; | |
243 | } Othe1Common; | |
244 | ||
245 | #define othe1 COMMON_BLOCK(othe1,othe1) | |
246 | COMMON_BLOCK_DEF(Othe1Common,othe1); | |
247 | ||
248 | /*========================================*/ | |
249 | /*common/othe2/ifrade,iframe,idecay,jdecay*/ | |
250 | /*----------------------------------------*/ | |
251 | typedef struct { | |
252 | Int_t ifrade,iframe,idecay,jdecay; | |
253 | } Othe2Common; | |
254 | ||
255 | #define othe2 COMMON_BLOCK(othe2,othe2) | |
256 | COMMON_BLOCK_DEF(Othe2Common,othe2); | |
257 | ||
258 | ||
259 | ||
260 | ||
261 | ||
262 | /*====================================================*/ | |
263 | /*common/nucl1/laproj,maproj,latarg,matarg,core,fctrmx*/ | |
264 | /*----------------------------------------------------*/ | |
265 | typedef struct { | |
266 | Int_t laproj,maproj,latarg,matarg; | |
267 | Float_t core,fctrmx; | |
268 | } Nucl1Common; | |
269 | ||
270 | #define nucl1 COMMON_BLOCK(nucl1,nucl1) | |
271 | COMMON_BLOCK_DEF(Nucl1Common,nucl1); | |
272 | ||
273 | /*========================================*/ | |
274 | /*common/nucl2/bmaxim,bminim,phimax,phimin*/ | |
275 | /*----------------------------------------*/ | |
276 | typedef struct { | |
277 | Float_t bmaxim,bminim,phimax,phimin; | |
278 | } Nucl2Common; | |
279 | ||
280 | #define nucl2 COMMON_BLOCK(nucl2,nucl2) | |
281 | COMMON_BLOCK_DEF(Nucl2Common,nucl2); | |
282 | ||
283 | /*==============================================================*/ | |
284 | /* character*80 fnch,fnhi,fndt,fnii,fnid,fnie,fnrj,fnmt | |
285 | * ,fngrv,fncp,fnnx,fncs,fndr,fnhy | |
286 | common/fname/ fnch, fnhi, fndt, fnii, fnid, fnie, fnrj, fnmt*/ | |
287 | /*--------------------------------------------------------------*/ | |
288 | typedef struct { | |
289 | char fnch[80], fnhi[80], fndt[80], fnii[80], fnid[80], fnie[80], fnrj[80]; | |
290 | char fnmt[80], fngrv[80], fncp[80], fnnx[80], fncs[80], fndr[80], fnhy[80]; | |
291 | } FnameCommon; | |
292 | ||
293 | #define fname COMMON_BLOCK(fname,fname) | |
294 | COMMON_BLOCK_DEF(FnameCommon,fname); | |
295 | ||
296 | /*=============================================================*/ | |
297 | /*common/nfname/nfnch,nfnhi,nfndt,nfnii,nfnid,nfnie,nfnrj,nfnmt*/ | |
298 | /**,nfngrv,nfncp,nfnnx,nfncs,nfndr,nfnhy */ | |
299 | /*-------------------------------------------------------------*/ | |
300 | typedef struct { | |
301 | Int_t nfnch,nfnhi,nfndt,nfnii,nfnid,nfnie,nfnrj,nfnmt; | |
302 | Int_t nfngrv,nfncp,nfnnx,nfncs,nfndr,nfnhy; | |
303 | } NfnameCommon; | |
304 | ||
305 | #define nfname COMMON_BLOCK(nfname,nfname) | |
306 | COMMON_BLOCK_DEF(NfnameCommon,nfname); | |
307 | ||
308 | /*character*80 fndat,fnncs,fnIIdat,fnIIncs*/ | |
309 | /*============================================*/ | |
310 | /*common/qgsfname/ fndat, fnncs, ifdat, ifncs*/ | |
311 | /*--------------------------------------------*/ | |
312 | typedef struct { | |
313 | char fndat[80], fnncs[80]; | |
314 | Int_t ifdat, ifncs; | |
315 | } QgsfnameCommon; | |
316 | ||
317 | #define qgsfname COMMON_BLOCK(qgsfname,qgsfname) | |
318 | COMMON_BLOCK_DEF(QgsfnameCommon,qgsfname); | |
319 | ||
320 | /*====================================================*/ | |
321 | /*common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs*/ | |
322 | /*----------------------------------------------------*/ | |
323 | typedef struct { | |
324 | char fnIIdat[80], fnIIncs[80]; | |
325 | Int_t ifIIdat, ifIIncs; | |
326 | } QgsIIfnameCommon; | |
327 | ||
328 | #define qgsiifname COMMON_BLOCK(qgsiifname,qgsiifname) | |
329 | COMMON_BLOCK_DEF(QgsIIfnameCommon,qgsiifname); | |
330 | ||
331 | /*================================*/ | |
332 | /*common/qgsnfname/ nfndat, nfnncs*/ | |
333 | /*--------------------------------*/ | |
334 | typedef struct { | |
335 | Int_t nfndat, nfnncs; | |
336 | } QgsnfnameCommon; | |
337 | ||
338 | #define qgsnfname COMMON_BLOCK(qgsnfname,qgsnfname) | |
339 | COMMON_BLOCK_DEF(QgsnfnameCommon,qgsnfname); | |
340 | ||
341 | /*======================================*/ | |
342 | /*common/qgsIInfname/ nfnIIdat, nfnIIncs*/ | |
343 | /*--------------------------------------*/ | |
344 | typedef struct { | |
345 | Int_t nfnIIdat, nfnIIncs; | |
346 | } QgsIInfnameCommon; | |
347 | ||
348 | #define qgsiinfname COMMON_BLOCK(qgsiinfname,qgsiinfname) | |
349 | COMMON_BLOCK_DEF(QgsIInfnameCommon,qgsiinfname); | |
350 | ||
351 | /*================================*/ | |
352 | /*parameter(mxnody=200) */ | |
353 | /*common/nodcy/nrnody,nody(mxnody)*/ | |
354 | /*--------------------------------*/ | |
355 | #define MXNODY 200 | |
356 | typedef struct { | |
357 | Int_t nrnody, nody[MXNODY]; | |
358 | } NodcyCommon; | |
359 | ||
360 | #define nodcy COMMON_BLOCK(nodcy,nodcy) | |
361 | COMMON_BLOCK_DEF(NodcyCommon,nodcy); | |
362 | ||
363 | /*===============================================================*/ | |
364 | /*common/hadr3/iregge,isopom,ishpom,iscreen,nprmax,inueff,irmdrop*/ | |
365 | /*---------------------------------------------------------------*/ | |
366 | typedef struct { | |
367 | Int_t iregge,isopom,ishpom,iscreen,nprmax,inueff,irmdrop; | |
368 | } Hadr3Common; | |
369 | ||
370 | #define hadr3 COMMON_BLOCK(hadr3,hadr3) | |
371 | COMMON_BLOCK_DEF(Hadr3Common,hadr3); | |
372 | ||
373 | /*===============================================================*/ | |
374 | /*common/hadr4/alppom,slopom,gamhad(4),r2had(4),chad(4),wdiff(4) */ | |
375 | /*& ,gamtil,facdif,r2hads(4),gamhads(4),slopoms,isplit*/ | |
376 | /*---------------------------------------------------------------*/ | |
377 | typedef struct { | |
378 | Float_t alppom,slopom,gamhad[4],r2had[4],chad[4],wdiff[4]; | |
379 | Float_t gamtil,facdif,r2hads[4],gamhads[4],slopoms; | |
380 | Int_t isplit; | |
381 | } Hadr4Common; | |
382 | ||
383 | #define hadr4 COMMON_BLOCK(hadr4,hadr4) | |
384 | COMMON_BLOCK_DEF(Hadr4Common,hadr4); | |
385 | ||
386 | /*================================================*/ | |
387 | /*common /psar5/ qcdlam,q2min,q2ini,q2fin,pt2cut,*/ | |
388 | /**betpom,glusea,naflav,alfe */ | |
389 | /*------------------------------------------------*/ | |
390 | typedef struct { | |
391 | Float_t qcdlam,q2min,q2ini,q2fin,pt2cut,betpom,glusea; | |
392 | Int_t naflav; | |
393 | Float_t alfe; | |
394 | } Psar5Common; | |
395 | ||
396 | #define psar5 COMMON_BLOCK(psar5,psar5) | |
397 | COMMON_BLOCK_DEF(Psar5Common,psar5); | |
398 | ||
399 | /*===========================*/ | |
400 | /*common/hadr17/edmaxi,epmaxi*/ | |
401 | /*---------------------------*/ | |
402 | typedef struct { | |
403 | Float_t edmaxi,epmaxi; | |
404 | } Hadr17Common; | |
405 | ||
406 | #define hadr17 COMMON_BLOCK(hadr17,hadr17) | |
407 | COMMON_BLOCK_DEF(Hadr17Common,hadr17); | |
408 | ||
409 | /*======================================================*/ | |
410 | /*common/frag1/ndecay,maxres,pud,pudk,pudr,strcut,diqcut*/ | |
411 | /*------------------------------------------------------*/ | |
412 | typedef struct { | |
413 | Int_t ndecay, maxres; | |
414 | Float_t pud,pudk,pudr,strcut,diqcut; | |
415 | } Frag1Common; | |
416 | ||
417 | #define frag1 COMMON_BLOCK(frag1,frag1) | |
418 | COMMON_BLOCK_DEF(Frag1Common,frag1); | |
419 | ||
420 | /*==================================*/ | |
421 | /*double precision seedi,seedj,seedc*/ | |
422 | /*common/cseed/seedi,seedj,seedc */ | |
423 | /*----------------------------------*/ | |
424 | typedef struct { | |
425 | Double_t seedi,seedj,seedc; | |
426 | } CseedCommon; | |
427 | ||
428 | #define cseed COMMON_BLOCK(cseed,cseed) | |
429 | COMMON_BLOCK_DEF(CseedCommon,cseed); | |
430 | ||
431 | } | |
432 | #endif /* EPOSCOMMON_H_ */ |