]>
Commit | Line | Data |
---|---|---|
1a52e0ed | 1 | #ifndef ROOT_DPMCommon |
2 | #define ROOT_DPMCommon | |
3 | ||
4 | #ifndef __CFORTRAN_LOADED | |
5 | //*KEEP,cfortran. | |
6 | #include "cfortran.h" | |
7 | //*KEND. | |
8 | #endif | |
9 | ||
10 | extern "C" { | |
11 | /*========================================================*/ | |
12 | /* COMMON/DTEVNO/NEVENT,ICASCA */ | |
13 | /*--------------------------------------------------------*/ | |
14 | typedef struct { | |
15 | Int_t nevent; | |
16 | Int_t icasca; | |
17 | } DtevnoCommon; | |
18 | ||
19 | #define DTEVNO COMMON_BLOCK(DTEVNO,dtevno) | |
20 | COMMON_BLOCK_DEF(DtevnoCommon,DTEVNO); | |
21 | ||
22 | /**********************************************************/ | |
23 | /* D E S C R I P T I O N : */ | |
24 | /*--------------------------------------------------------*/ | |
25 | /* Event flag */ | |
26 | /*========================================================*/ | |
27 | ||
28 | /*========================================================*/ | |
29 | /* COMMON/DTEVT1/NHKK,NEVHKK,ISTHKK(NMXHKK),IDHKK(NMXHKK),*/ | |
30 | /* JMOHKK(2,NMXHKK),JDAHKK(2,NMXHKK), */ | |
31 | /* PHKK(5,NMXHKK),VHKK(4,NMXHKK),WHKK(4,NMXHKK) */ | |
32 | /*--------------------------------------------------------*/ | |
33 | typedef struct { | |
34 | Int_t nhkk; | |
35 | Int_t nevhkk; | |
36 | Int_t isthkk[200000]; | |
37 | Int_t idhkk[200000]; | |
38 | Int_t jmohkk[200000][2]; | |
39 | Int_t jdahkk[200000][2]; | |
40 | Double_t phkk[200000][5]; | |
41 | Double_t vhkk[200000][4]; | |
42 | Double_t whkk[200000][4]; | |
43 | } Dtevt1Common; | |
44 | ||
45 | #define DTEVT1 COMMON_BLOCK(DTEVT1,dtevt1) | |
46 | COMMON_BLOCK_DEF(Dtevt1Common,DTEVT1); | |
47 | ||
48 | /**********************************************************/ | |
49 | /* D E S C R I P T I O N : */ | |
50 | /*--------------------------------------------------------*/ | |
51 | /* Event history */ | |
52 | /* */ | |
53 | /* NHKK - number of entries in common block */ | |
54 | /* NEVHKK - number of the event */ | |
55 | /* ISTHKK(i) - status code for entry i with following */ | |
56 | /* meanings: */ | |
57 | /* = 1 final state particle produced in */ | |
58 | /* photon-/hadron-/nucleon-nucleon collisions*/ | |
59 | /* or in intranuclear cascade proc. */ | |
60 | /* =-1 nucleons, deuterons, H3, He3, He4 */ | |
61 | /* evaporated from excited nucleus and */ | |
62 | /* photons produced in nuclear deexcitation */ | |
63 | /* processes; */ | |
64 | /* = 1001 residual nucleus (ground state). */ | |
65 | /* IDHKK(i) - particle identity according to PDG code; */ | |
66 | /* for nuclei (evaporation products and */ | |
67 | /* residual nucleus): IDHKK(IHKK)=80000 */ | |
68 | /* JMOHKK(1,i) - pointer to the position where the mother */ | |
69 | /* is stored; the initial value is 0 */ | |
70 | /* JMOHKK(2,i) - pointer to the position of the 2nd mother*/ | |
71 | /* Normally only 1 mother exists, in which */ | |
72 | /* case the value 0 is used. In cluster */ | |
73 | /* fragmentation models, the 2 mothers would */ | |
74 | /* correspond to the q and qbar which join to*/ | |
75 | /* form a cluster. In string fragmentation, */ | |
76 | /* the two mothers of a particle produced in */ | |
77 | /* the fragmentation would be the 2 endpoints*/ | |
78 | /* of the string. */ | |
79 | /* JDAHKK(1,i) - pointer to the position of the 1st */ | |
80 | /* daughter; if an entry has not decayed =0. */ | |
81 | /* JDAHKK(1,i) - pointer to the position of the last */ | |
82 | /* daughter; if an entry has not decayed =0. */ | |
83 | /* PHKK(1,i) - momentum in x direction in GeV/c */ | |
84 | /* PHKK(2,i) - momentum in y direction in GeV/c */ | |
85 | /* PHKK(3,i) - momentum in z direction in GeV/c */ | |
86 | /* PHKK(4,i) - energy in GeV */ | |
87 | /* PHKK(5,i) - mass in GeV/c^2; for space-like partons */ | |
88 | /* it is allowed to use a mass<0, according */ | |
89 | /* PHKK(5,IHKK) = -sqrt(-m^2) */ | |
90 | /* VHKK(1,i) - production vertex in x position in mm */ | |
91 | /* VHKK(2,i) - production vertex in y position in mm */ | |
92 | /* VHKK(3,i) - production vertex in z position in mm */ | |
93 | /* VHKK(4,i) - production time in mm/c (=3.33*10^(-12)s */ | |
94 | /* WHKK(I,i) - gives positions and times in projectile */ | |
95 | /* frame, the chains are created on the posi-*/ | |
96 | /* tions of the projectile nucleons in the */ | |
97 | /* projectile frame (target nucleons in target*/ | |
98 | /* frame); both positions are therefore not */ | |
99 | /* completely consistent. The times in the */ | |
100 | /* projectile frame are obtained by a Lorentz*/ | |
101 | /* transformation from the LAB system. */ | |
102 | /*========================================================*/ | |
103 | ||
104 | /*========================================================*/ | |
105 | /* COMMON/DTEVT2/IDRES(NMXHKK),IDXRES(NMXHKK),NOBAM(NMXHKK),*/ | |
106 | /* IDBAM(NMXHKK),IDCH(NMXHKK),NPOINT(10), */ | |
107 | /* IHIST(2,NMXHKK) */ | |
108 | /*--------------------------------------------------------*/ | |
109 | typedef struct { | |
110 | Int_t idres[200000]; | |
111 | Int_t idxres[200000]; | |
112 | Int_t nobam[200000]; | |
113 | Int_t idbam[200000]; | |
114 | Int_t idch[200000]; | |
115 | Int_t npoint[10]; | |
116 | Int_t ihist[200000][2]; | |
117 | } Dtevt2Common; | |
118 | ||
119 | #define DTEVT2 COMMON_BLOCK(DTEVT2,dtevt2) | |
120 | COMMON_BLOCK_DEF(Dtevt2Common,DTEVT2); | |
121 | ||
122 | /**********************************************************/ | |
123 | /* D E S C R I P T I O N : */ | |
124 | /*--------------------------------------------------------*/ | |
125 | /* Extended event history */ | |
126 | /* */ | |
127 | /* NMXHKK - max. num. of entries (partons/particles) that */ | |
128 | /* can be stored in the common block */ | |
129 | /* IDRES(IHKK) - mass num. A in case of nuclear fragments */ | |
130 | /* or residual nuclei (IDHKK(IHKK)=80000). */ | |
131 | /* IDXRES(IHKK) - charge Zin case of nuclear fragments */ | |
132 | /* or residual nuclei (IDHKK(IHKK)=80000). */ | |
133 | /* NOBAM(IHKK) =1 for particles from proj. fragmentation */ | |
134 | /* =2 for particles from target fragmentation.*/ | |
135 | /* IDBAM(IHKK) - internal dpmjet particle code(BAMJET code)*/ | |
136 | /*========================================================*/ | |
137 | ||
138 | } | |
139 | ||
140 | /*========================================================*/ | |
141 | /* COMMON/DTPRTA/IT,ITZ,IP,IPZ,IJPROJ,IBPROJ,IJTARG,IBTARG*/ | |
142 | /*--------------------------------------------------------*/ | |
143 | typedef struct { | |
144 | Int_t it; | |
145 | Int_t itz; | |
146 | Int_t ip; | |
147 | Int_t ipz; | |
148 | Int_t ijproj; | |
149 | Int_t ibproj; | |
150 | Int_t ijtarg; | |
151 | Int_t ibtarg; | |
152 | } DtprtaCommon; | |
153 | ||
154 | #define DTPRTA COMMON_BLOCK(DTPRTA,dtprta) | |
155 | COMMON_BLOCK_DEF(DtprtaCommon,DTPRTA); | |
156 | /**********************************************************/ | |
157 | /* D E S C R I P T I O N : */ | |
158 | /*--------------------------------------------------------*/ | |
159 | /* IT, ITZ - nucleon/atomic number of target nucleus */ | |
160 | /* IP, IPZ - nucleon/atomic number of projectile nucleus */ | |
161 | /* for incident hadrons IP=IPZ=1 */ | |
162 | /*========================================================*/ | |
163 | ||
164 | /*========================================================*/ | |
165 | /* COMMON /DTIMPA/ BIMIN,BIMAX,XSFRAC,ICENTR */ | |
166 | /*--------------------------------------------------------*/ | |
167 | typedef struct { | |
168 | Double_t bimin; | |
169 | Double_t bimax; | |
170 | Double_t xsfrac; | |
171 | Double_t icent; | |
172 | } DtimpaCommon; | |
173 | ||
174 | #define DTIMPA COMMON_BLOCK(DTIMPA,dtimpa) | |
175 | COMMON_BLOCK_DEF(DtimpaCommon,DTIMPA); | |
176 | /**********************************************************/ | |
177 | /* D E S C R I P T I O N : */ | |
178 | /*--------------------------------------------------------*/ | |
179 | /* BIMIN, BIMAX - min., max. b values (default bmin = 0) */ | |
180 | /* XSFRAC - fraction of x-section (default: 1) */ | |
181 | /* ICENTR =1. central production forced (default: 0) */ | |
182 | /* <0 && >-100 -> bmin = BIMIN, bmax = BIMAX */ | |
183 | /* <-99 -> fraction of x-sec. = XSFRAC */ | |
184 | /* =-1. -> evaporation/fzc suppressed */ | |
185 | /* <-1. -> evaporation/fzc suppressed */ | |
186 | /*========================================================*/ | |
187 | ||
188 | ||
189 | /*========================================================*/ | |
190 | /* COMMON /DTGLCP/RPROJ,RTARG,BIMPAC,NWTSAM,NWASAM,NWBSAM,*/ | |
191 | /* NWTACC,NWAACC,NWBACC */ | |
192 | /*--------------------------------------------------------*/ | |
193 | typedef struct { | |
194 | Double_t rproj; | |
195 | Double_t rtarg; | |
196 | Double_t bimpac; | |
197 | Int_t nwtsam; | |
198 | Int_t nwasam; | |
199 | Int_t nwbsam; | |
200 | Int_t nwtacc; | |
201 | Int_t nwtaac; | |
202 | Int_t nwtbac; | |
203 | } DtglcpCommon; | |
204 | ||
205 | #define DTGLCP COMMON_BLOCK(DTGLCP,dtglcp) | |
206 | COMMON_BLOCK_DEF(DtglcpCommon,DTGLCP); | |
207 | /**********************************************************/ | |
208 | /* D E S C R I P T I O N : */ | |
209 | /*--------------------------------------------------------*/ | |
210 | /* RPROJ = radius of projectile nucleus */ | |
211 | /* RPROJ = radius of target nucleus */ | |
212 | /* BIMPAC = impact parameter of the collision */ | |
213 | /* NWTSAM = total number of wounded nucleons */ | |
214 | /* NWASAM = number of wounded nucleons in projectile */ | |
215 | /* NWBSAM = number of wounded nucleons in target */ | |
216 | /* NWTACC = total number of interacting nucleons */ | |
217 | /* NWTAAC = total number of interacting nucleons in proj. */ | |
218 | /* NWTBAC = total number of interacting nucleons in target*/ | |
219 | /*========================================================*/ | |
9dcc0beb | 220 | /*========================================================*/ |
221 | /* COMMON /POPRCS/IPROCE,IDNODF,IDIFR1,IDIFR2,IDDPOM, */ | |
222 | /* IPRON(15,4) */ | |
223 | /*--------------------------------------------------------*/ | |
224 | typedef struct { | |
225 | Int_t iproce; | |
226 | Int_t idnodf; | |
227 | Int_t idifr1; | |
228 | Int_t idifr2; | |
229 | Int_t iddpom; | |
230 | Int_t ipron[15][4]; | |
231 | } PoprcsCommon; | |
232 | ||
233 | #define POPRCS COMMON_BLOCK(POPRCS,poprcs) | |
234 | COMMON_BLOCK_DEF(PoprcsCommon,POPRCS); | |
235 | ||
236 | ||
237 | /**********************************************************/ | |
238 | /* D E S C R I P T I O N : */ | |
239 | /*--------------------------------------------------------*/ | |
1a52e0ed | 240 | |
241 | #endif |