New developments of the analysis framework - selectorised version of the manager...
[u/mrichter/AliRoot.git] / THijing / THijing.h
CommitLineData
c627bfa0 1#ifndef THIJING_H
2#define THIJING_H
7dffa423 3
7dffa423 4
5//////////////////////////////////////////////////////////////////////////
6// //
7// THijing //
8// //
9// This class implements an interface to the Hijing event generator. //
10// //
11//////////////////////////////////////////////////////////////////////////
12
13#ifndef ROOT_TGenerator
7dffa423 14#include "TGenerator.h"
7dffa423 15#endif
dd63ae11 16class TObjArray;
7dffa423 17
18class THijing : public TGenerator {
19
7dffa423 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="");
dd63ae11 34 virtual TObjArray* ImportParticles(Option_t *option="");
7dffa423 35
7dffa423 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 Float_t GetEATT() const;
86
87 virtual Int_t GetJATT() const;
88
89 virtual Int_t GetNT() const;
90
91 virtual Int_t GetNP() const;
92
93 virtual Int_t GetN0() const;
94
95 virtual Int_t GetN01() const;
96
97 virtual Int_t GetN10() const;
98
99 virtual Int_t GetN11() const;
100
101 virtual Float_t GetBB() const;
102
103
104 // common HIMAIN2 access routines - read-only common:
105
106 virtual Int_t GetKATT(Int_t key1, Int_t key2) const;
107
108 virtual Float_t GetPATT(Int_t key1, Int_t key2) const;
109
af615bc3 110 virtual Float_t GetVATT(Int_t key1, Int_t key2) const;
111
7dffa423 112
113 // common HIJJET1 access routines - read-only common:
114
115 virtual Int_t GetNPJ(Int_t key) const;
116
117 virtual Int_t GetKFPJ(Int_t key1, Int_t key2) const;
118
119 virtual Float_t GetPJPX(Int_t key1, Int_t key2) const;
120
121 virtual Float_t GetPJPY(Int_t key1, Int_t key2) const;
122
123 virtual Float_t GetPJPZ(Int_t key1, Int_t key2) const;
124
125 virtual Float_t GetPJPE(Int_t key1, Int_t key2) const;
126
127 virtual Float_t GetPJPM(Int_t key1, Int_t key2) const;
128
129 virtual Int_t GetNTJ(Int_t key) const;
130
131 virtual Int_t GetKFTJ(Int_t key1, Int_t key2) const;
132
133 virtual Float_t GetPJTX(Int_t key1, Int_t key2) const;
134
135 virtual Float_t GetPJTY(Int_t key1, Int_t key2) const;
136
137 virtual Float_t GetPJTZ(Int_t key1, Int_t key2) const;
138
139 virtual Float_t GetPJTE(Int_t key1, Int_t key2) const;
140
141 virtual Float_t GetPJTM(Int_t key1, Int_t key2) const;
142
143
144 // common HIJJET2 access routines - read-only common:
145
146 virtual Int_t GetNSG() const;
147
148 virtual Int_t GetNJSG(Int_t key) const;
149
150 virtual Int_t GetIASG(Int_t key1, Int_t key2) const;
151
152 virtual Int_t GetK1SG(Int_t key1, Int_t key2) const;
153
154 virtual Int_t GetK2SG(Int_t key1, Int_t key2) const;
155
156 virtual Float_t GetPXSG(Int_t key1, Int_t key2) const;
157
158 virtual Float_t GetPYSG(Int_t key1, Int_t key2) const;
159
160 virtual Float_t GetPZSG(Int_t key1, Int_t key2) const;
161
162 virtual Float_t GetPESG(Int_t key1, Int_t key2) const;
163
164 virtual Float_t GetPMSG(Int_t key1, Int_t key2) const;
165
166 // common HISTRNG access routines - read-only common:
167
168 virtual Int_t GetNFP(Int_t key1, Int_t key2) const;
169
170 virtual Float_t GetPP(Int_t key1, Int_t key2) const;
171
172 virtual Int_t GetNFT(Int_t key1, Int_t key2) const;
173
174 virtual Float_t GetPT(Int_t key1, Int_t key2) const;
c9080d26 175
176 // common LUDAT1_HIJING common:
177 virtual void SetPARJ(Int_t key, Float_t parm);
178 virtual void SetMSTJ(Int_t key, Int_t parm);
7dffa423 179
180 // access to HIJING routines:
181
182 virtual void Hijset(float efrm, const char* frame, const char*
183 proj, const char* targ, int iap, int izp,
184 int iat, int izt);
185
186 virtual void Hijing(const char* frame, float bmin, float bmax);
187
9744fbd5 188 virtual Float_t Profile(float b);
6b759e67 189
190 // access to Jeteset routines
191
192 virtual void Rluget(Int_t lfn, Int_t move=0);
193 virtual void Rluset(Int_t lfn, Int_t move=0);
9744fbd5 194
c627bfa0 195 protected:
196
dd63ae11 197 Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
198 TString fFrame; // Reference frame CMS or LAB
199 TString fProj; // Projectile name
200 TString fTarg; // Target name
201 Int_t fIap; // Atomic number of projectile
202 Int_t fIzp; // Charge number of projectile
203 Int_t fIat; // Atomic number of target
204 Int_t fIzt; // Charge number of target
205 Float_t fBmin; // Minimum impact parameter
206 Float_t fBmax; // Maximum impact parameter
207 ClassDef(THijing,1) //Interface to Hijing Event Generator
7dffa423 208};
209
210#endif
9744fbd5 211
212
213
214
215
216
217