]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EPOS/EPOScommon.h
Changing once more (hopefully we get it correct this time...) the logic to trig the...
[u/mrichter/AliRoot.git] / EPOS / EPOScommon.h
CommitLineData
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 */
27extern "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
60typedef 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)
74COMMON_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
118typedef 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)
133COMMON_BLOCK_DEF(CptlCommon,cptl);
134
135typedef struct {
136 Int_t itsptl[MXPTL];
137} ClptCommon;
138
139#define clpt COMMON_BLOCK(clpt,clpt)
140COMMON_BLOCK_DEF(ClptCommon,clpt);
141
142/*=========================*/
143/*common/copen/nopen,nopenr*/
144/*-------------------------*/
145typedef struct {
146 Int_t nopen;
147 Int_t nopenr;
148} CopenCommon;
149
150#define copen COMMON_BLOCK(copen,copen)
151COMMON_BLOCK_DEF(CopenCommon,copen);
152
153/*================================================================*/
154/*common/prnt1/iprmpt,ish,ishsub,irandm,irewch,iecho,modsho,idensi*/
155/*----------------------------------------------------------------*/
156typedef struct {
157 Int_t iprmpt, ish, ishsub, irandm, irewch, iecho, modsho, idensi;
158} Prnt1Common;
159
160#define prnt1 COMMON_BLOCK(prnt1,prnt1)
161COMMON_BLOCK_DEF(Prnt1Common,prnt1);
162
163/*========================*/
164/*common/appli/iappl,model*/
165/*------------------------*/
166typedef struct {
167 Int_t iappl, model;
168} AppliCommon;
169
170#define appli COMMON_BLOCK(appli,appli)
171COMMON_BLOCK_DEF(AppliCommon,appli);
172
173/*=========================================*/
174/*common/enrgy/egymin,egymax,elab,ecms,ekin*/
175/*-----------------------------------------*/
176typedef struct {
177 Float_t egymin, egymax, elab, ecms, ekin;
178} EnrgyCommon;
179
180#define enrgy COMMON_BLOCK(enrgy,enrgy)
181COMMON_BLOCK_DEF(EnrgyCommon,enrgy);
182
183/*=============================================*/
184/*common/lept1/engy,elepti,elepto,angmue,icinpu*/
185/*---------------------------------------------*/
186typedef struct {
187 Float_t engy,elepti,elepto,angmue;
188 Int_t icinpu;
189} Lept1Common;
190
191#define lept1 COMMON_BLOCK(lept1,lept1)
192COMMON_BLOCK_DEF(Lept1Common,lept1);
193
194/*=====================================================*/
195/*common/ebin/noebin,engmin,engmax,nrebin,iologe,iologl*/
196/*-----------------------------------------------------*/
197typedef 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)
204COMMON_BLOCK_DEF(EbinCommon,ebin);
205
206/*==========================================*/
207/*common/events/nevent,nfull,nfreeze,ninicon*/
208/*------------------------------------------*/
209typedef struct {
210 Int_t nevent,nfull,nfreeze,ninicon;
211} EventsCommon;
212
213#define events COMMON_BLOCK(events,events)
214COMMON_BLOCK_DEF(EventsCommon,events);
215
216/*=============================================*/
217/*common/sprio/ispherio,icotabm,icotabr,icocore*/
218/*---------------------------------------------*/
219typedef struct {
220 Int_t ispherio,icotabm,icotabr,icocore;
221} SprioCommon;
222
223#define sprio COMMON_BLOCK(sprio,sprio)
224COMMON_BLOCK_DEF(SprioCommon,sprio);
225
226/*============================================================*/
227/*common/accum/imsg,jerr(mxjerr),ntevt,nrevt,naevt,nrstr,nrptl*/
228/*------------------------------------------------------------*/
229typedef struct {
230 Int_t imsg,jerr[MXJERR],ntevt,nrevt,naevt,nrstr,nrptl;
231} AccumCommon;
232
233#define accum COMMON_BLOCK(accum,accum)
234COMMON_BLOCK_DEF(AccumCommon,accum);
235
236/*==================================================================*/
237/*common/othe1/istore,istmax,gaumx,irescl,ntrymx,nclean,iopdg,ioidch*/
238/*------------------------------------------------------------------*/
239typedef 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)
246COMMON_BLOCK_DEF(Othe1Common,othe1);
247
248/*========================================*/
249/*common/othe2/ifrade,iframe,idecay,jdecay*/
250/*----------------------------------------*/
251typedef struct {
252 Int_t ifrade,iframe,idecay,jdecay;
253} Othe2Common;
254
255#define othe2 COMMON_BLOCK(othe2,othe2)
256COMMON_BLOCK_DEF(Othe2Common,othe2);
257
258
259
260
261
262/*====================================================*/
263/*common/nucl1/laproj,maproj,latarg,matarg,core,fctrmx*/
264/*----------------------------------------------------*/
265typedef struct {
266 Int_t laproj,maproj,latarg,matarg;
267 Float_t core,fctrmx;
268} Nucl1Common;
269
270#define nucl1 COMMON_BLOCK(nucl1,nucl1)
271COMMON_BLOCK_DEF(Nucl1Common,nucl1);
272
273/*========================================*/
274/*common/nucl2/bmaxim,bminim,phimax,phimin*/
275/*----------------------------------------*/
276typedef struct {
277 Float_t bmaxim,bminim,phimax,phimin;
278} Nucl2Common;
279
280#define nucl2 COMMON_BLOCK(nucl2,nucl2)
281COMMON_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/*--------------------------------------------------------------*/
288typedef 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)
294COMMON_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/*-------------------------------------------------------------*/
300typedef 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)
306COMMON_BLOCK_DEF(NfnameCommon,nfname);
307
308/*character*80 fndat,fnncs,fnIIdat,fnIIncs*/
309/*============================================*/
310/*common/qgsfname/ fndat, fnncs, ifdat, ifncs*/
311/*--------------------------------------------*/
312typedef struct {
313 char fndat[80], fnncs[80];
314 Int_t ifdat, ifncs;
315} QgsfnameCommon;
316
317#define qgsfname COMMON_BLOCK(qgsfname,qgsfname)
318COMMON_BLOCK_DEF(QgsfnameCommon,qgsfname);
319
320/*====================================================*/
321/*common/qgsIIfname/fnIIdat, fnIIncs, ifIIdat, ifIIncs*/
322/*----------------------------------------------------*/
323typedef struct {
324 char fnIIdat[80], fnIIncs[80];
325 Int_t ifIIdat, ifIIncs;
326} QgsIIfnameCommon;
327
328#define qgsiifname COMMON_BLOCK(qgsiifname,qgsiifname)
329COMMON_BLOCK_DEF(QgsIIfnameCommon,qgsiifname);
330
331/*================================*/
332/*common/qgsnfname/ nfndat, nfnncs*/
333/*--------------------------------*/
334typedef struct {
335 Int_t nfndat, nfnncs;
336} QgsnfnameCommon;
337
338#define qgsnfname COMMON_BLOCK(qgsnfname,qgsnfname)
339COMMON_BLOCK_DEF(QgsnfnameCommon,qgsnfname);
340
341/*======================================*/
342/*common/qgsIInfname/ nfnIIdat, nfnIIncs*/
343/*--------------------------------------*/
344typedef struct {
345 Int_t nfnIIdat, nfnIIncs;
346} QgsIInfnameCommon;
347
348#define qgsiinfname COMMON_BLOCK(qgsiinfname,qgsiinfname)
349COMMON_BLOCK_DEF(QgsIInfnameCommon,qgsiinfname);
350
351/*================================*/
352/*parameter(mxnody=200) */
353/*common/nodcy/nrnody,nody(mxnody)*/
354/*--------------------------------*/
355#define MXNODY 200
356typedef struct {
357 Int_t nrnody, nody[MXNODY];
358} NodcyCommon;
359
360#define nodcy COMMON_BLOCK(nodcy,nodcy)
361COMMON_BLOCK_DEF(NodcyCommon,nodcy);
362
363/*===============================================================*/
364/*common/hadr3/iregge,isopom,ishpom,iscreen,nprmax,inueff,irmdrop*/
365/*---------------------------------------------------------------*/
366typedef struct {
367 Int_t iregge,isopom,ishpom,iscreen,nprmax,inueff,irmdrop;
368} Hadr3Common;
369
370#define hadr3 COMMON_BLOCK(hadr3,hadr3)
371COMMON_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/*---------------------------------------------------------------*/
377typedef 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)
384COMMON_BLOCK_DEF(Hadr4Common,hadr4);
385
386/*================================================*/
387/*common /psar5/ qcdlam,q2min,q2ini,q2fin,pt2cut,*/
388/**betpom,glusea,naflav,alfe */
389/*------------------------------------------------*/
390typedef 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)
397COMMON_BLOCK_DEF(Psar5Common,psar5);
398
399/*===========================*/
400/*common/hadr17/edmaxi,epmaxi*/
401/*---------------------------*/
402typedef struct {
403 Float_t edmaxi,epmaxi;
404} Hadr17Common;
405
406#define hadr17 COMMON_BLOCK(hadr17,hadr17)
407COMMON_BLOCK_DEF(Hadr17Common,hadr17);
408
409/*======================================================*/
410/*common/frag1/ndecay,maxres,pud,pudk,pudr,strcut,diqcut*/
411/*------------------------------------------------------*/
412typedef struct {
413 Int_t ndecay, maxres;
414 Float_t pud,pudk,pudr,strcut,diqcut;
415} Frag1Common;
416
417#define frag1 COMMON_BLOCK(frag1,frag1)
418COMMON_BLOCK_DEF(Frag1Common,frag1);
419
420/*==================================*/
421/*double precision seedi,seedj,seedc*/
422/*common/cseed/seedi,seedj,seedc */
423/*----------------------------------*/
424typedef struct {
425 Double_t seedi,seedj,seedc;
426} CseedCommon;
427
428#define cseed COMMON_BLOCK(cseed,cseed)
429COMMON_BLOCK_DEF(CseedCommon,cseed);
430
431}
432#endif /* EPOSCOMMON_H_ */