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