include kT interp exception for narrower pT intervals
[u/mrichter/AliRoot.git] / THijing / THijing.h
... / ...
CommitLineData
1#ifndef THIJING_H
2#define THIJING_H
3
4
5//////////////////////////////////////////////////////////////////////////
6// //
7// THijing //
8// //
9// This class implements an interface to the Hijing event generator. //
10// //
11//////////////////////////////////////////////////////////////////////////
12
13#ifndef ROOT_TGenerator
14#include "TGenerator.h"
15#endif
16class TObjArray;
17
18class THijing : public TGenerator {
19
20
21public:
22
23 THijing();
24 THijing(Float_t efrm, const char *frame, const char *proj, const char *targ,
25 Int_t iap, Int_t izp, Int_t iat, Int_t izt, Float_t bmin,
26 Float_t bmax);
27 virtual ~THijing();
28
29 virtual void Initialize();
30
31 virtual void GenerateEvent();
32
33 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
34 virtual TObjArray* ImportParticles(Option_t *option="");
35
36
37 //Parameters for the generation:
38
39 virtual void SetEFRM(Float_t efrm);
40 virtual Float_t GetEFRM() const;
41
42 virtual void SetFRAME(const char *frame);
43 virtual const char *GetFRAME() const;
44
45 virtual void SetPROJ(const char *frame);
46 virtual const char *GetPROJ() const;
47
48 virtual void SetTARG(const char *frame);
49 virtual const char *GetTARG() const;
50
51 virtual void SetIAP(Int_t iap);
52 virtual Int_t GetIAP() const;
53
54 virtual void SetIZP(Int_t izp);
55 virtual Int_t GetIZP() const;
56
57 virtual void SetIAT(Int_t iat);
58 virtual Int_t GetIAT() const;
59
60 virtual void SetIZT(Int_t izt);
61 virtual Int_t GetIZT() const;
62
63 virtual void SetBMIN(Float_t bmin);
64 virtual Float_t GetBMIN() const;
65
66 virtual void SetBMAX(Float_t bmax);
67 virtual Float_t GetBMAX() const;
68
69 //common HIPARNT access routines:
70
71 virtual void SetHIPR1(Int_t key, Float_t value);
72 virtual Float_t GetHIPR1(Int_t key) const;
73
74 virtual void SetIHPR2(Int_t key, Int_t value);
75 virtual Int_t GetIHPR2(Int_t key) const;
76
77 virtual Float_t GetHINT1(Int_t key) const;
78
79 virtual Int_t GetIHNT2(Int_t key) const;
80
81 //common HIMAIN1 access routines - read-only common:
82
83 virtual Int_t GetNATT() const;
84
85 virtual Int_t GetNPART() const;
86
87 virtual Float_t GetEATT() const;
88
89 virtual Int_t GetJATT() const;
90
91 virtual Int_t GetNT() const;
92
93 virtual Int_t GetNP() const;
94
95 virtual Int_t GetN0() const;
96
97 virtual Int_t GetN01() const;
98
99 virtual Int_t GetN10() const;
100
101 virtual Int_t GetN11() const;
102
103 virtual Float_t GetBB() const;
104
105 // common HIMAIN2 access routines - read-only common:
106
107 virtual Int_t GetKATT(Int_t key1, Int_t key2) const;
108
109 virtual Float_t GetPATT(Int_t key1, Int_t key2) const;
110
111 virtual Float_t GetVATT(Int_t key1, Int_t key2) const;
112
113
114 // common HIJJET1 access routines - read-only common:
115
116 virtual Int_t GetNPJ(Int_t key) const;
117
118 virtual Int_t GetKFPJ(Int_t key1, Int_t key2) const;
119
120 virtual Float_t GetPJPX(Int_t key1, Int_t key2) const;
121
122 virtual Float_t GetPJPY(Int_t key1, Int_t key2) const;
123
124 virtual Float_t GetPJPZ(Int_t key1, Int_t key2) const;
125
126 virtual Float_t GetPJPE(Int_t key1, Int_t key2) const;
127
128 virtual Float_t GetPJPM(Int_t key1, Int_t key2) const;
129
130 virtual Int_t GetNTJ(Int_t key) const;
131
132 virtual Int_t GetKFTJ(Int_t key1, Int_t key2) const;
133
134 virtual Float_t GetPJTX(Int_t key1, Int_t key2) const;
135
136 virtual Float_t GetPJTY(Int_t key1, Int_t key2) const;
137
138 virtual Float_t GetPJTZ(Int_t key1, Int_t key2) const;
139
140 virtual Float_t GetPJTE(Int_t key1, Int_t key2) const;
141
142 virtual Float_t GetPJTM(Int_t key1, Int_t key2) const;
143
144
145 // common HIJJET2 access routines - read-only common:
146
147 virtual Int_t GetNSG() const;
148
149 virtual Int_t GetNJSG(Int_t key) const;
150
151 virtual Int_t GetIASG(Int_t key1, Int_t key2) const;
152
153 virtual Int_t GetK1SG(Int_t key1, Int_t key2) const;
154
155 virtual Int_t GetK2SG(Int_t key1, Int_t key2) const;
156
157 virtual Float_t GetPXSG(Int_t key1, Int_t key2) const;
158
159 virtual Float_t GetPYSG(Int_t key1, Int_t key2) const;
160
161 virtual Float_t GetPZSG(Int_t key1, Int_t key2) const;
162
163 virtual Float_t GetPESG(Int_t key1, Int_t key2) const;
164
165 virtual Float_t GetPMSG(Int_t key1, Int_t key2) const;
166
167 // common HISTRNG access routines - read-only common:
168
169 virtual Int_t GetNFP(Int_t key1, Int_t key2) const;
170
171 virtual Float_t GetPP(Int_t key1, Int_t key2) const;
172
173 virtual Int_t GetNFT(Int_t key1, Int_t key2) const;
174
175 virtual Float_t GetPT(Int_t key1, Int_t key2) const;
176
177 // common LUDAT1_HIJING common:
178 virtual void SetPARJ(Int_t key, Float_t parm);
179 virtual void SetMSTJ(Int_t key, Int_t parm);
180 virtual void SetMDCY(Int_t key1, Int_t key2, Int_t parm);
181 virtual void SetMDME(Int_t key1, Int_t key2, Int_t parm);
182 virtual void SetBRAT(Int_t key, Float_t parm);
183 virtual Int_t GetMDCY(Int_t key1, Int_t key2);
184 // access to HIJING routines:
185
186 virtual void Hijset(float efrm, const char* frame, const char*
187 proj, const char* targ, int iap, int izp,
188 int iat, int izt);
189
190 virtual void Hijing(const char* frame, float bmin, float bmax);
191
192 virtual Float_t Profile(float b);
193
194 // access to Jeteset routines
195
196 virtual void Rluget(Int_t lfn, Int_t move=0);
197 virtual void Rluset(Int_t lfn, Int_t move=0);
198 virtual void Pylist(Int_t flag);
199 virtual void Luupda(Int_t mupda, Int_t lfn);
200 protected:
201
202 Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
203 TString fFrame; // Reference frame CMS or LAB
204 TString fProj; // Projectile name
205 TString fTarg; // Target name
206 Int_t fIap; // Atomic number of projectile
207 Int_t fIzp; // Charge number of projectile
208 Int_t fIat; // Atomic number of target
209 Int_t fIzt; // Charge number of target
210 Float_t fBmin; // Minimum impact parameter
211 Float_t fBmax; // Maximum impact parameter
212 ClassDef(THijing,1) //Interface to Hijing Event Generator
213};
214
215#endif
216
217
218
219
220
221
222