Adding TPHIC
[u/mrichter/AliRoot.git] / TPHIC / TPHICcommon.h
1 #ifndef ROOT_TPHICcommon
2 #define ROOT_TPHICcommon
3 //------------------------------------------------------------------------
4 // TPHICcommon is an interface COMMON blocks of the fortran event generator
5 // of two-photon processes in ultraperipheral ion collisions
6 //%
7 // Yuri.Kharlov@cern.ch
8 // 15 April 2003
9 //------------------------------------------------------------------------
10
11 #ifndef __CFORTRAN_LOADED
12 #include "cfortran.h"
13 #endif
14
15 //       COMMON /ggini/ iproc,nevent,ilumf,lumfil,ebmn,eb,iz,ia,amas,
16 //      &               amin,amax,ymin,ymax,nmas,ny, kferm,
17 //      &               kf_onium,xmres,xgtres,xggres, xlumint, moddcy,
18 //      &               thetamin, costhv1, kv1,kv2,gvpar(4)
19 //       CHARACTER lumfil*80
20 extern "C" {
21   typedef struct {
22     Int_t   iproc;
23     Int_t   nevent;
24     Int_t   ilumf;
25     char    lumfil[80];
26     Float_t ebmn;
27     Float_t eb;
28     Int_t   iz;
29     Int_t   ia;
30     Float_t amas;
31     Float_t amin;
32     Float_t amax;
33     Float_t ymin;
34     Float_t ymax;
35     Int_t   nmas;
36     Int_t   ny;
37     Int_t   kferm;
38     Int_t   kfonium;
39     Float_t xmres;
40     Float_t xgtres;
41     Float_t xggres;
42     Float_t xlumint;
43     Int_t   moddcy;
44     Float_t thetamin;
45     Float_t costhv1;
46     Int_t   kv1;
47     Int_t   kv2;
48     Float_t qvpar[4];
49   } GGiniCommon;
50 #define GGINI  COMMON_BLOCK(GGINI,ggini)
51   COMMON_BLOCK_DEF(GGiniCommon,GGINI);
52
53 //       COMMON /ggevnt/ nrun,ievent,wsq,ygg,xmg1,xmg2, p2g(5),
54 //      &                ptag1(4),ptag2(4), ngg, kgg(10),pgg(20,5)
55   typedef struct {
56     Int_t   nrun;
57     Int_t   ievent;
58     Float_t wsq;
59     Float_t ygg;
60     Float_t xmg1;
61     Float_t xmg2;
62     Float_t p2g[5];
63     Float_t ptag1[4];
64     Float_t ptag2[4];
65     Int_t   ngg;
66     Int_t   kgg[10];
67     Float_t pgg[5][20];
68   } GGevntCommon;
69 #define GGEVNT COMMON_BLOCK(GGEVNT,ggevnt)
70   COMMON_BLOCK_DEF(GGevntCommon,GGEVNT);
71
72 //       COMMON /ggxs/ xsmax0, xscur0, xscur, xsbra, xssum, ntry, xstot,
73 //      &  xstote, ssbr(10)
74   typedef struct {
75     Float_t xsmax0;
76     Float_t xscur0;
77     Float_t xscur;
78     Float_t xsbra;
79     Float_t xssum;
80     Int_t   ntry;
81     Float_t xstot;
82     Float_t xstote;
83     Float_t ssbr[10];
84   } GGxsCommon;
85 #define GGXS   COMMON_BLOCK(GGXS,ggxs)
86   COMMON_BLOCK_DEF(GGxsCommon,GGXS);
87
88 }
89
90 #endif