PAR: includes from previously enabled PARfiles
[u/mrichter/AliRoot.git] / TDPMjet / DPMcommon.h
CommitLineData
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
10extern "C" {
11/*========================================================*/
12/* COMMON/DTEVNO/NEVENT,ICASCA */
13/*--------------------------------------------------------*/
14typedef struct {
15 Int_t nevent;
16 Int_t icasca;
17} DtevnoCommon;
18
19#define DTEVNO COMMON_BLOCK(DTEVNO,dtevno)
20COMMON_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/*--------------------------------------------------------*/
33typedef 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)
46COMMON_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/*--------------------------------------------------------*/
109typedef 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)
120COMMON_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/*--------------------------------------------------------*/
143typedef 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)
155COMMON_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/*--------------------------------------------------------*/
167typedef 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)
175COMMON_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/*--------------------------------------------------------*/
193typedef 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;
7cbda79e 203 Int_t ncp;
204 Int_t nct;
1a52e0ed 205} DtglcpCommon;
206
207#define DTGLCP COMMON_BLOCK(DTGLCP,dtglcp)
208COMMON_BLOCK_DEF(DtglcpCommon,DTGLCP);
209/**********************************************************/
210/* D E S C R I P T I O N : */
211/*--------------------------------------------------------*/
212/* RPROJ = radius of projectile nucleus */
213/* RPROJ = radius of target nucleus */
214/* BIMPAC = impact parameter of the collision */
215/* NWTSAM = total number of wounded nucleons */
216/* NWASAM = number of wounded nucleons in projectile */
217/* NWBSAM = number of wounded nucleons in target */
218/* NWTACC = total number of interacting nucleons */
219/* NWTAAC = total number of interacting nucleons in proj. */
220/* NWTBAC = total number of interacting nucleons in target*/
221/*========================================================*/
9dcc0beb 222/*========================================================*/
223/* COMMON /POPRCS/IPROCE,IDNODF,IDIFR1,IDIFR2,IDDPOM, */
224/* IPRON(15,4) */
225/*--------------------------------------------------------*/
226typedef struct {
227 Int_t iproce;
228 Int_t idnodf;
229 Int_t idifr1;
230 Int_t idifr2;
231 Int_t iddpom;
232 Int_t ipron[15][4];
233} PoprcsCommon;
234
235#define POPRCS COMMON_BLOCK(POPRCS,poprcs)
236COMMON_BLOCK_DEF(PoprcsCommon,POPRCS);
237
238
239/**********************************************************/
240/* D E S C R I P T I O N : */
241/*--------------------------------------------------------*/
fb941ba2 242/*
243
244 COMMON /POEVT1/ NEVHEP,NHEP,ISTHEP(NMXHEP),IDHEP(NMXHEP),
245 & JMOHEP(2,NMXHEP),JDAHEP(2,NMXHEP),PHEP(5,NMXHEP),
60e3ddb0 246 & VHEP(4,NMXHEP), NSD1, NSD2, NDD
fb941ba2 247*/
248const Int_t nmxhep = 4000;
249
250typedef struct {
251 Int_t nevhep;
252 Int_t nhep;
253 Int_t isthep[nmxhep];
254 Int_t idhep [nmxhep];
255 Int_t jmohep[nmxhep][2];
256 Int_t jdahep[nmxhep][2];
257 Double_t phep [nmxhep][5];
258 Double_t vhep [nmxhep][4];
60e3ddb0 259 Int_t nsd1;
260 Int_t nsd2;
261 Int_t ndd;
fb941ba2 262} Poevt1Common;
263
264#define POEVT1 COMMON_BLOCK(POEVT1,poevt1)
265COMMON_BLOCK_DEF(Poevt1Common,POEVT1);
1a52e0ed 266
267#endif