5 //////////////////////////////////////////////////////////////////////////
9 // This class implements an interface to the Hijing event generator. //
11 //////////////////////////////////////////////////////////////////////////
13 #ifndef ROOT_TGenerator
14 #include "TGenerator.h"
18 class THijing : public TGenerator {
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,
29 virtual void Initialize();
31 virtual void GenerateEvent();
33 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
34 virtual TObjArray* ImportParticles(Option_t *option="");
37 //Parameters for the generation:
39 virtual void SetEFRM(Float_t efrm);
40 virtual Float_t GetEFRM() const;
42 virtual void SetFRAME(const char *frame);
43 virtual const char *GetFRAME() const;
45 virtual void SetPROJ(const char *frame);
46 virtual const char *GetPROJ() const;
48 virtual void SetTARG(const char *frame);
49 virtual const char *GetTARG() const;
51 virtual void SetIAP(Int_t iap);
52 virtual Int_t GetIAP() const;
54 virtual void SetIZP(Int_t izp);
55 virtual Int_t GetIZP() const;
57 virtual void SetIAT(Int_t iat);
58 virtual Int_t GetIAT() const;
60 virtual void SetIZT(Int_t izt);
61 virtual Int_t GetIZT() const;
63 virtual void SetBMIN(Float_t bmin);
64 virtual Float_t GetBMIN() const;
66 virtual void SetBMAX(Float_t bmax);
67 virtual Float_t GetBMAX() const;
69 //common HIPARNT access routines:
71 virtual void SetHIPR1(Int_t key, Float_t value);
72 virtual Float_t GetHIPR1(Int_t key) const;
74 virtual void SetIHPR2(Int_t key, Int_t value);
75 virtual Int_t GetIHPR2(Int_t key) const;
77 virtual Float_t GetHINT1(Int_t key) const;
79 virtual Int_t GetIHNT2(Int_t key) const;
81 //common HIMAIN1 access routines - read-only common:
83 virtual Int_t GetNATT() const;
85 virtual Int_t GetNPART() const;
87 virtual Float_t GetEATT() const;
89 virtual Int_t GetJATT() const;
91 virtual Int_t GetNT() const;
93 virtual Int_t GetNP() const;
95 virtual Int_t GetN0() const;
97 virtual Int_t GetN01() const;
99 virtual Int_t GetN10() const;
101 virtual Int_t GetN11() const;
103 virtual Float_t GetBB() const;
106 // common HIMAIN2 access routines - read-only common:
108 virtual Int_t GetKATT(Int_t key1, Int_t key2) const;
110 virtual Float_t GetPATT(Int_t key1, Int_t key2) const;
112 virtual Float_t GetVATT(Int_t key1, Int_t key2) const;
115 // common HIJJET1 access routines - read-only common:
117 virtual Int_t GetNPJ(Int_t key) const;
119 virtual Int_t GetKFPJ(Int_t key1, Int_t key2) const;
121 virtual Float_t GetPJPX(Int_t key1, Int_t key2) const;
123 virtual Float_t GetPJPY(Int_t key1, Int_t key2) const;
125 virtual Float_t GetPJPZ(Int_t key1, Int_t key2) const;
127 virtual Float_t GetPJPE(Int_t key1, Int_t key2) const;
129 virtual Float_t GetPJPM(Int_t key1, Int_t key2) const;
131 virtual Int_t GetNTJ(Int_t key) const;
133 virtual Int_t GetKFTJ(Int_t key1, Int_t key2) const;
135 virtual Float_t GetPJTX(Int_t key1, Int_t key2) const;
137 virtual Float_t GetPJTY(Int_t key1, Int_t key2) const;
139 virtual Float_t GetPJTZ(Int_t key1, Int_t key2) const;
141 virtual Float_t GetPJTE(Int_t key1, Int_t key2) const;
143 virtual Float_t GetPJTM(Int_t key1, Int_t key2) const;
146 // common HIJJET2 access routines - read-only common:
148 virtual Int_t GetNSG() const;
150 virtual Int_t GetNJSG(Int_t key) const;
152 virtual Int_t GetIASG(Int_t key1, Int_t key2) const;
154 virtual Int_t GetK1SG(Int_t key1, Int_t key2) const;
156 virtual Int_t GetK2SG(Int_t key1, Int_t key2) const;
158 virtual Float_t GetPXSG(Int_t key1, Int_t key2) const;
160 virtual Float_t GetPYSG(Int_t key1, Int_t key2) const;
162 virtual Float_t GetPZSG(Int_t key1, Int_t key2) const;
164 virtual Float_t GetPESG(Int_t key1, Int_t key2) const;
166 virtual Float_t GetPMSG(Int_t key1, Int_t key2) const;
168 // common HISTRNG access routines - read-only common:
170 virtual Int_t GetNFP(Int_t key1, Int_t key2) const;
172 virtual Float_t GetPP(Int_t key1, Int_t key2) const;
174 virtual Int_t GetNFT(Int_t key1, Int_t key2) const;
176 virtual Float_t GetPT(Int_t key1, Int_t key2) const;
178 // common LUDAT1_HIJING common:
179 virtual void SetPARJ(Int_t key, Float_t parm);
180 virtual void SetMSTJ(Int_t key, Int_t parm);
181 virtual void SetMDCY(Int_t key1, Int_t key2, Int_t parm);
182 virtual Int_t GetMDCY(Int_t key1, Int_t key2);
184 // access to HIJING routines:
186 virtual void Hijset(float efrm, const char* frame, const char*
187 proj, const char* targ, int iap, int izp,
190 virtual void Hijing(const char* frame, float bmin, float bmax);
192 virtual Float_t Profile(float b);
194 // access to Jeteset routines
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);
201 Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
202 TString fFrame; // Reference frame CMS or LAB
203 TString fProj; // Projectile name
204 TString fTarg; // Target name
205 Int_t fIap; // Atomic number of projectile
206 Int_t fIzp; // Charge number of projectile
207 Int_t fIat; // Atomic number of target
208 Int_t fIzt; // Charge number of target
209 Float_t fBmin; // Minimum impact parameter
210 Float_t fBmax; // Maximum impact parameter
211 ClassDef(THijing,1) //Interface to Hijing Event Generator