]>
Commit | Line | Data |
---|---|---|
7b7936e9 | 1 | // This header file declares structure objects for |
2 | // accessing common blocks from the fortran side of HYDJET++ (PYQUEN and PYTHIA). | |
3 | // The input parameters and output information are transmitted | |
4 | // through these structures. | |
b1c2e580 | 5 | |
6 | #ifndef HYJETCOMMON | |
7 | #define HYJETCOMMON | |
8 | ||
9 | extern "C" { | |
10 | ||
11 | #define f2cFortran | |
12 | #include "cfortran.h" | |
13 | ||
7b7936e9 | 14 | //---------------------------------------------------------------- |
15 | // common /hyipar/ bminh,bmaxh,AW,RA,npar0,nbco0,Apb,Rpb,np,init,ipr | |
16 | typedef struct // for HYIPAR common block | |
17 | { | |
18 | Double_t bminh; // minimum impact parameter in units of nucleus radius RA | |
19 | Double_t bmaxh; // maximum impact parameter in units of nucleus radius RA | |
20 | Double_t AW; // beam and target nucleus atomic weight | |
21 | Double_t RA; // nucleus radius | |
22 | Double_t npar0; // number of participants at "reference point" (Pb,b=0) | |
23 | Double_t nbco0; // number of binary sub-collisions at "reference point" (Pb,b=0) | |
24 | Double_t Apb; // Apb=207 | |
25 | Double_t Rpb; //Rpb=1.15*Apb^1/3 | |
26 | Double_t np; //internal variable of HYDJET | |
27 | Int_t init; //internal flag to start HYDJET initialization | |
28 | Int_t ipr; //internal flag to start HYDJET initialization | |
29 | } HYIPARCommon; | |
30 | ||
b1c2e580 | 31 | #define HYIPAR COMMON_BLOCK(HYIPAR,hyipar) |
7b7936e9 | 32 | COMMON_BLOCK_DEF(HYIPARCommon, HYIPAR); |
33 | //---------------------------------------------------------------- | |
34 | ||
35 | // common/service/iseed_fromC,iPythDecay,parPYTH(100) | |
36 | typedef struct // for SERVICE common block | |
37 | { | |
38 | Int_t iseed_fromC; // random number generator seed | |
39 | Int_t iPythDecay; //internal parameter for swith on/off PYTHIA decayer not used under ALIROOT | |
40 | Double_t parPYTH[100]; //array for PYTHIA internal parameters | |
41 | } SERVICECommon; | |
b1c2e580 | 42 | |
43 | #define SERVICE COMMON_BLOCK(SERVICE,service) | |
7b7936e9 | 44 | COMMON_BLOCK_DEF(SERVICECommon, SERVICE); |
45 | //---------------------------------------------------------------- | |
46 | ||
47 | // common/SERVICEEV/ipdg,delta | |
48 | // variables for program MYDELTA which allows to transmit delta -limits for BW from PYTHIA to c++ part | |
49 | typedef struct // for SERVICEEV common block | |
50 | { | |
51 | Float_t delta; // limits for the resonance Breit-Wigner mass (from PYTHIA) | |
52 | Int_t KC; //PYTHIA internal compressed code of particle | |
53 | Int_t ipdg; //particle pdg code transmitted from from C++ | |
b1c2e580 | 54 | }SERVICEEVCommon; |
55 | ||
56 | #define SERVICEEV COMMON_BLOCK(SERVICEEV,serviceev) | |
7b7936e9 | 57 | COMMON_BLOCK_DEF(SERVICEEVCommon, SERVICEEV); |
b1c2e580 | 58 | |
7b7936e9 | 59 | //---------------------------------------------------------------- |
b1c2e580 | 60 | // common /hyjpar/ ptmin,sigin,sigjet,nhsel,ishad,njet |
7b7936e9 | 61 | typedef struct // for HYJPAR common block |
62 | { | |
63 | Double_t ptmin; // minimum pt for N-N collision in PYTHIA | |
64 | Double_t sigin; // total inelastic NN cross section at given c.m.s. energy (in mb) | |
65 | Double_t sigjet; // hard scattering NN cross section at given ptmin and energy (in mb). | |
66 | Int_t nhsel; // nhsel parameter for the event type (0-hydro only; 1-hydro+unquenched jets; | |
67 | // 2-hydro+quenched jets; 3-unquenched jets only; 4-quenched jets only) | |
68 | Int_t ishad; // flag for turning on/off nuclear shadowing | |
69 | Int_t njet; // number of hard parton-parton scatterings with pt>ptmin in event | |
70 | } HYJPARCommon; | |
b1c2e580 | 71 | |
72 | #define HYJPAR COMMON_BLOCK(HYJPAR,hyjpar) | |
7b7936e9 | 73 | COMMON_BLOCK_DEF(HYJPARCommon, HYJPAR); |
74 | //---------------------------------------------------------------- | |
75 | ||
76 | ||
77 | // common /hypyin/ ene,rzta,rnta,bfix,ifb,nh | |
78 | typedef struct //for HYPYIN common block | |
79 | { | |
80 | Double_t ene; //CMS energy per nucleon [GeV] | |
81 | Double_t rzta;//fraction of protons in nucleus | |
82 | Double_t rnta;//fraction of neutrons in nucleus | |
83 | Double_t bfix; //fix impact parameter | |
84 | Int_t ifb; // flag of type of centrality generation | |
85 | // =0 impact parameter is fixed (bfix) | |
86 | // >0 or <0 impact parameter is generated with standard Glauber geometry | |
87 | // between minimum (bmin) and maximum (bmax) values; | |
88 | ||
89 | Int_t nh; //mean soft mult. in central PbPb | |
b1c2e580 | 90 | }HYPYINCommon; |
7b7936e9 | 91 | |
b1c2e580 | 92 | #define HYPYIN COMMON_BLOCK(HYPYIN,hypyin) |
7b7936e9 | 93 | COMMON_BLOCK_DEF(HYPYINCommon, HYPYIN); |
94 | ||
95 | ||
96 | //---------------------------------------------------------------- | |
97 | // common /hyfpar/ bgen,nbcol,npart,npyt,nhyd,npart0 | |
98 | typedef struct // for HYFPAR common block | |
99 | { | |
100 | Double_t bgen; | |
101 | Int_t nbcol; | |
102 | Double_t npart; | |
103 | Double_t npart0; | |
104 | Int_t npyt; | |
105 | Int_t nhyd; | |
b1c2e580 | 106 | }HYFPARCommon; |
7b7936e9 | 107 | |
b1c2e580 | 108 | #define HYFPAR COMMON_BLOCK(HYFPAR,hyfpar) |
7b7936e9 | 109 | COMMON_BLOCK_DEF(HYFPARCommon, HYFPAR); |
110 | ||
111 | //---------------------------------------------------------------- | |
112 | typedef struct //for HYPART common block | |
113 | { | |
114 | Double_t ppart[50000][10]; // particle information | |
115 | Double_t bmin; | |
116 | Double_t bmax; | |
117 | Int_t njp; | |
b1c2e580 | 118 | }HYPARTCommon; |
7b7936e9 | 119 | |
b1c2e580 | 120 | #define HYPART COMMON_BLOCK(HYPART,hypart) |
7b7936e9 | 121 | COMMON_BLOCK_DEF(HYPARTCommon, HYPART); |
122 | //---------------------------------------------------------------- | |
123 | ||
124 | // common /pyqpar/ T0,tau0,nf,ienglu,ianglu | |
125 | typedef struct // for PYQPAR common block | |
126 | { | |
127 | Double_t T0; // initial temperature of QGP for central Pb+Pb collisions | |
128 | Double_t tau0; // proper time of quark-gluon plasma formation | |
129 | Int_t nf; // number of flavours | |
130 | Int_t ienglu; // type of energy loss | |
131 | Int_t ianglu; // type of angular distribution for emitted gluons | |
b1c2e580 | 132 | }PYQPARCommon; |
7b7936e9 | 133 | |
b1c2e580 | 134 | #define PYQPAR COMMON_BLOCK(PYQPAR,pyqpar) |
7b7936e9 | 135 | COMMON_BLOCK_DEF(PYQPARCommon, PYQPAR); |
136 | ||
b1c2e580 | 137 | } |
138 | #endif |