5 //////////////////////////////////////////////////////////////////////////
9 // This class implements an interface to the Hijing event generator. //
11 //////////////////////////////////////////////////////////////////////////
13 #ifndef ROOT_TGenerator
14 #include "TGenerator.h"
17 class THijing : public TGenerator {
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,
28 virtual void Initialize();
30 virtual void GenerateEvent();
32 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
35 //Parameters for the generation:
37 virtual void SetEFRM(Float_t efrm);
38 virtual Float_t GetEFRM() const;
40 virtual void SetFRAME(const char *frame);
41 virtual const char *GetFRAME() const;
43 virtual void SetPROJ(const char *frame);
44 virtual const char *GetPROJ() const;
46 virtual void SetTARG(const char *frame);
47 virtual const char *GetTARG() const;
49 virtual void SetIAP(Int_t iap);
50 virtual Int_t GetIAP() const;
52 virtual void SetIZP(Int_t izp);
53 virtual Int_t GetIZP() const;
55 virtual void SetIAT(Int_t iat);
56 virtual Int_t GetIAT() const;
58 virtual void SetIZT(Int_t izt);
59 virtual Int_t GetIZT() const;
61 virtual void SetBMIN(Float_t bmin);
62 virtual Float_t GetBMIN() const;
64 virtual void SetBMAX(Float_t bmax);
65 virtual Float_t GetBMAX() const;
67 //common HIPARNT access routines:
69 virtual void SetHIPR1(Int_t key, Float_t value);
70 virtual Float_t GetHIPR1(Int_t key) const;
72 virtual void SetIHPR2(Int_t key, Int_t value);
73 virtual Int_t GetIHPR2(Int_t key) const;
75 virtual Float_t GetHINT1(Int_t key) const;
77 virtual Int_t GetIHNT2(Int_t key) const;
79 //common HIMAIN1 access routines - read-only common:
81 virtual Int_t GetNATT() const;
83 virtual Float_t GetEATT() const;
85 virtual Int_t GetJATT() const;
87 virtual Int_t GetNT() const;
89 virtual Int_t GetNP() const;
91 virtual Int_t GetN0() const;
93 virtual Int_t GetN01() const;
95 virtual Int_t GetN10() const;
97 virtual Int_t GetN11() const;
99 virtual Float_t GetBB() const;
102 // common HIMAIN2 access routines - read-only common:
104 virtual Int_t GetKATT(Int_t key1, Int_t key2) const;
106 virtual Float_t GetPATT(Int_t key1, Int_t key2) const;
108 virtual Float_t GetVATT(Int_t key1, Int_t key2) const;
111 // common HIJJET1 access routines - read-only common:
113 virtual Int_t GetNPJ(Int_t key) const;
115 virtual Int_t GetKFPJ(Int_t key1, Int_t key2) const;
117 virtual Float_t GetPJPX(Int_t key1, Int_t key2) const;
119 virtual Float_t GetPJPY(Int_t key1, Int_t key2) const;
121 virtual Float_t GetPJPZ(Int_t key1, Int_t key2) const;
123 virtual Float_t GetPJPE(Int_t key1, Int_t key2) const;
125 virtual Float_t GetPJPM(Int_t key1, Int_t key2) const;
127 virtual Int_t GetNTJ(Int_t key) const;
129 virtual Int_t GetKFTJ(Int_t key1, Int_t key2) const;
131 virtual Float_t GetPJTX(Int_t key1, Int_t key2) const;
133 virtual Float_t GetPJTY(Int_t key1, Int_t key2) const;
135 virtual Float_t GetPJTZ(Int_t key1, Int_t key2) const;
137 virtual Float_t GetPJTE(Int_t key1, Int_t key2) const;
139 virtual Float_t GetPJTM(Int_t key1, Int_t key2) const;
142 // common HIJJET2 access routines - read-only common:
144 virtual Int_t GetNSG() const;
146 virtual Int_t GetNJSG(Int_t key) const;
148 virtual Int_t GetIASG(Int_t key1, Int_t key2) const;
150 virtual Int_t GetK1SG(Int_t key1, Int_t key2) const;
152 virtual Int_t GetK2SG(Int_t key1, Int_t key2) const;
154 virtual Float_t GetPXSG(Int_t key1, Int_t key2) const;
156 virtual Float_t GetPYSG(Int_t key1, Int_t key2) const;
158 virtual Float_t GetPZSG(Int_t key1, Int_t key2) const;
160 virtual Float_t GetPESG(Int_t key1, Int_t key2) const;
162 virtual Float_t GetPMSG(Int_t key1, Int_t key2) const;
164 // common HISTRNG access routines - read-only common:
166 virtual Int_t GetNFP(Int_t key1, Int_t key2) const;
168 virtual Float_t GetPP(Int_t key1, Int_t key2) const;
170 virtual Int_t GetNFT(Int_t key1, Int_t key2) const;
172 virtual Float_t GetPT(Int_t key1, Int_t key2) const;
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);
178 // access to HIJING routines:
180 virtual void Hijset(float efrm, const char* frame, const char*
181 proj, const char* targ, int iap, int izp,
184 virtual void Hijing(const char* frame, float bmin, float bmax);
186 virtual Float_t Profile(float b);
188 // access to Jeteset routines
190 virtual void Rluget(Int_t lfn, Int_t move=0);
191 virtual void Rluset(Int_t lfn, Int_t move=0);
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
206 ClassDef(THijing,1) //Interface to Hijing Event Generator