Overlaps corrected, new shape of sectors
[u/mrichter/AliRoot.git] / THydjet / THydjet.h
CommitLineData
cb220f83 1#ifndef THYDJET_H
2#define THYDJET_H
3
4
5//////////////////////////////////////////////////////////////////////////
6// //
7// THydjet //
8// //
9// This class implements an interface to the Hydjet event generator. //
10// //
11//////////////////////////////////////////////////////////////////////////
12
13#ifndef ROOT_TGenerator
14#include "TGenerator.h"
15#endif
16class TObjArray;
17
18class THydjet : public TGenerator {
19
20
21public:
22
23 THydjet();
24 THydjet(Float_t efrm, const char *frame, Float_t aw,
25 Int_t ifb, Float_t bmin, Float_t bmax, Float_t bfix, Int_t nh);
26 virtual ~THydjet();
27
28 virtual void Initialize();
29
30 virtual void GenerateEvent();
31
32 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
33 virtual TObjArray* ImportParticles(Option_t *option="");
34
35
36 //Parameters for the generation:
37
38 virtual void SetEfrm(Float_t efrm);
39 virtual Float_t GetEfrm() const;
40
41 virtual void SetFrame(const char *frame);
42 virtual const char *GetFrame() const;
43
44 virtual void SetAw(Float_t aw);
45 virtual Float_t GetAw() const;
46
47 virtual void SetIfb(Int_t ifb);
48 virtual Int_t GetIfb() const;
49
50 virtual void SetBmin(Float_t bmin);
51 virtual Float_t GetBmin() const;
52
53 virtual void SetBmax(Float_t bmax);
54 virtual Float_t GetBmax() const;
55
56 virtual void SetBfix(Float_t bfix);
57 virtual Float_t GetBfix() const;
58
59 virtual void SetNh(Int_t nh);
60 virtual Int_t GetNh() const;
61
62
63
64 //common HYFLOW access routines:
65
66 virtual const void SetYTFL(Float_t ytfl) const;
67 virtual Float_t GetYTFL() const;
68
69 virtual const void SetYLFL(Float_t ylfl) const;
70 virtual Float_t GetYLFL() const;
71
72 virtual const void SetFPART(Float_t fpart) const;
73 virtual Float_t GetFPART() const;
74
75 //common HYJPAR access routines
76
77 virtual const void SetNHSEL(Int_t nhsel) const;
78 virtual Int_t GetNHSEL() const;
79
80 virtual const void SetPTMIN(Float_t ptmin) const;
81 virtual Float_t GetPTMIN() const;
82
83 virtual const void SetNJET(Int_t njet) const;
84 virtual Int_t GetNJET() const;
85
86 // common HYFPAR access routines - read-only common:
87
88 virtual Float_t GetBGEN() const;
89
90 virtual Int_t GetNBCOL() const;
91
92 virtual Int_t GetNPART() const;
93
94 virtual Int_t GetNPYT() const;
95
96 virtual Int_t GetNHYD() const;
97
98
99 // common LUJETS access routines - read-only common:
100
101 virtual Int_t GetN() const;
102
103 virtual Int_t GetK(Int_t key1, Int_t key2) const;
104
105 virtual Float_t GetP(Int_t key1, Int_t key2) const;
106
107 virtual Float_t GetV(Int_t key1, Int_t key2) const;
108
109
110 // common HYJETS access routines - read-only common:
111
112 virtual Int_t GetNL() const;
113
114 virtual Int_t GetKL(Int_t key1, Int_t key2) const;
115
116 virtual Float_t GetPL(Int_t key1, Int_t key2) const;
117
118 virtual Float_t GetVL(Int_t key1, Int_t key2) const;
119
120 // common PYDAT1 access routines:
121
122 virtual void SetMSTU(Int_t key, Int_t value);
123
124 virtual void SetPARU(Int_t key, Double_t value);
125
126 virtual void SetMSTJ(Int_t key, Int_t value);
127
128 virtual void SetPARJ(Int_t key, Double_t value);
129
130 // common PYSUBS access routines:
131
132 virtual const void SetMSEL(Int_t msel) const;
133
134 virtual void SetCKIN(Int_t key, Double_t value);
135
136 // common PYPARS access routines:
137
138 virtual void SetMSTP(Int_t key, Int_t value);
139
140 // access to HYDJET routines:
141
142 virtual void Hydro();
143
144
145 protected:
146
147 Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
148 TString fFrame; // Reference frame CMS or LAB
149 Float_t fAw; // Beam and target nucleus atomic weight
150 Int_t fIfb; // flag of type of centrality generation
151 // 0 impact parameter fixed (bfix)
152 // else impact parameter is generated with standard Glauber geometry
153 // between minimum (bmin) and maximum (bmax) values
154 Float_t fBmin; // Minimum impact parameter in units of nucleus radius RA
155 // (i.e. minimum value in [fm] will be bmin*RA),
156 // valid only if ifb not equal to zero
157 Float_t fBmax; // Maximum impact parameter in units of nucleus radius RA
158 // (i.e. maximum value in [fm] will be bmax*RA),
159 // valid only if ifb not equal to zero
160 Float_t fBfix; // Fixed impact parameter in units of nucleus radius RA
161 // (i.e. fixed value in [fm] will be bfix*RA),
162 // valid only if ifb=0
163 Int_t fNh; // Mean soft hadron multiplicity in central Pb-Pb collisions
164 // (multiplicity for other centralities and atomic numbers
165 // will be calculated automatically).
166
167 ClassDef(THydjet,1) //Interface to Hydjet Event Generator
168};
169
170#endif
171
172
173
174
175
176
177