Do not include from subdirectories
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / HYJET_COMMONS.h
CommitLineData
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
9extern "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 {
77b9c3bb 100 Double_t bgen; // impact parameter
101 Double_t nbcol; // number of binary collisions
102 Double_t npart; // n participants
103 Double_t npart0; // n participants
104 Int_t npyt; // number of pythia particles
105 Int_t nhyd; // number of hydjet particles
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
03896fc4 115 Double_t bmin; // min impact parameter
116 Double_t bmax; // max impact parameter
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