Add new functionalities (Laurent)
[u/mrichter/AliRoot.git] / TAmpt / Acommon.h
1 #ifndef ROOT_ACommon
2 #define ROOT_ACommon
3
4 #ifndef __CFORTRAN_LOADED
5 //*KEEP,cfortran.
6 #include "cfortran.h"
7 //*KEND.
8 #endif
9
10 #define _MAXNPARTICLE_ 150001
11
12 extern "C" {
13
14 typedef struct {
15    Float_t    hipr1[100];
16    Int_t      ihpr2[50];
17    Float_t    hint1[100];
18    Int_t      ihnt2[50];
19 } HparntCommon;
20 #define HPARNT COMMON_BLOCK(HPARNT,hparnt)
21 COMMON_BLOCK_DEF(HparntCommon,HPARNT);
22
23 typedef struct {
24   Int_t      natt;
25   Float_t    eatt;
26   Int_t      jatt;
27   Int_t      nt;
28   Int_t      np;
29   Int_t      n0;
30   Int_t      n01;
31   Int_t      n10;
32   Int_t      n11;
33 } Hmain1Common;
34 #define HMAIN1 COMMON_BLOCK(HMAIN1,hmain1)
35 COMMON_BLOCK_DEF(Hmain1Common,HMAIN1);
36
37 typedef struct {
38   Float_t    bb;   
39 } ExtraCentCommon;
40 #define EXTRACENT COMMON_BLOCK(EXTRACENT,extracent)
41 COMMON_BLOCK_DEF(ExtraCentCommon,EXTRACENT);
42
43 typedef struct {
44    Int_t    katt[4][_MAXNPARTICLE_];
45    Float_t  patt[4][_MAXNPARTICLE_];
46    Float_t  vatt[4][_MAXNPARTICLE_];    
47 } Hmain2Common;
48 #define HMAIN2 COMMON_BLOCK(HMAIN2,hmain2)
49 COMMON_BLOCK_DEF(Hmain2Common,HMAIN2);
50
51 typedef struct {
52    Int_t    npj[300];
53    Int_t    kfpj[500][300];
54    Float_t  pjpx[500][300];
55    Float_t  pjpy[500][300];
56    Float_t  pjpz[500][300];
57    Float_t  pjpe[500][300];
58    Float_t  pjpm[500][300];
59    Int_t    ntj[300];
60    Int_t    kftj[500][300];
61    Float_t  pjtx[500][300];
62    Float_t  pjty[500][300];
63    Float_t  pjtz[500][300];
64    Float_t  pjte[500][300];
65    Float_t  pjtm[500][300];
66 } Hjjet1Common;
67 #define HJJET1 COMMON_BLOCK(HJJET1,hjjet1)
68 COMMON_BLOCK_DEF(Hjjet1Common,HJJET1);
69
70 typedef struct {
71    Int_t      nsg;
72    Int_t      njsg[_MAXNPARTICLE_];
73    Int_t      iasg[3][_MAXNPARTICLE_];
74    Int_t      k1sg[100][_MAXNPARTICLE_];
75    Int_t      k2sg[100][_MAXNPARTICLE_];
76    Float_t    pxsg[100][_MAXNPARTICLE_];
77    Float_t    pysg[100][_MAXNPARTICLE_];
78    Float_t    pzsg[100][_MAXNPARTICLE_];
79    Float_t    pesg[100][_MAXNPARTICLE_];
80    Float_t    pmsg[100][_MAXNPARTICLE_];
81 } Hjjet2Common;
82 #define HJJET2 COMMON_BLOCK(HJJET2,hjjet2)
83 COMMON_BLOCK_DEF(Hjjet2Common,HJJET2);
84
85 typedef struct {
86    Int_t    nfp[15][300];
87    Float_t  pp[15][300];
88    Int_t    nft[15][300];
89    Float_t  pt[15][300];
90 } HstrngCommon;
91 #define HSTRNG COMMON_BLOCK(HSTRNG,hstrng)
92 COMMON_BLOCK_DEF(HstrngCommon,HSTRNG);
93
94 typedef struct {
95    Float_t  yp[300][3];
96    Float_t  yt[300][3];
97 } HjcrdnCommon;
98 #define HJCRDN COMMON_BLOCK(HJCRDN,hjcrdn)
99 COMMON_BLOCK_DEF(HjcrdnCommon,HJCRDN);
100
101 typedef struct {
102   Int_t    mstu[200];
103   Float_t  paru[200];
104   Int_t    mstj[200];
105   Float_t  parj[200];
106 } Ludat1Common;
107 #define LUDAT1 COMMON_BLOCK(LUDAT1A,ludat1a)
108 COMMON_BLOCK_DEF(Ludat1Common,LUDAT1);
109
110 typedef struct {
111   Int_t   lblast[_MAXNPARTICLE_];
112   Float_t xlast[_MAXNPARTICLE_][4];
113   Float_t plast[_MAXNPARTICLE_][4];
114   Int_t   nlast;
115 } HBTCommon;
116 #define HBT COMMON_BLOCK(HBT,hbt)
117 COMMON_BLOCK_DEF(HBTCommon,HBT);
118
119 typedef struct {
120   Int_t nevent;
121   Int_t isoft;
122   Int_t isflag;
123   Int_t izpc;
124 } AnimCommon;
125 #define ANIM COMMON_BLOCK(ANIM,anim)
126 COMMON_BLOCK_DEF(AnimCommon,ANIM);
127
128 typedef struct {
129   Float_t xmp; 
130   Float_t xmu; 
131   Float_t alpha;
132   Float_t rscut2;
133   Float_t cutof2;
134 } Para2Common;
135 #define PARA2 COMMON_BLOCK(PARA2,para2)
136 COMMON_BLOCK_DEF(Para2Common,PARA2);
137
138 typedef struct {
139   Float_t masspr;
140   Float_t massta;
141   Int_t iseed;
142   Int_t iavoid;
143   Float_t dt;
144 } Input1Common;
145 #define INPUT1 COMMON_BLOCK(INPUT1,input1)
146 COMMON_BLOCK_DEF(Input1Common,INPUT1);
147
148 typedef struct {
149   Int_t ilab;
150   Int_t manyb;
151   Int_t ntmax;
152   Int_t icoll;
153   Int_t insys;
154   Int_t ipot;
155   Int_t mode; 
156   Int_t imomen;
157   Int_t nfreq;
158   Int_t icflow;
159   Int_t icrho;
160   Int_t icou;
161   Int_t kpoten;
162   Int_t kmul; 
163 } Input2Common;
164 #define INPUT2 COMMON_BLOCK(INPUT2,input2)
165 COMMON_BLOCK_DEF(Input2Common,INPUT2);
166
167 typedef struct {
168   Int_t ipop;
169 } PopcornCommon;
170 #define POPCORN COMMON_BLOCK(POPCORN,popcorn)
171 COMMON_BLOCK_DEF(PopcornCommon,POPCORN);
172
173   //#undef _MAXNPARTICLE_ 
174
175 } /*extern*/
176 #endif
177