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