5 //////////////////////////////////////////////////////////////////////////
9 // This class implements an interface to the Hydjet event generator. //
11 //////////////////////////////////////////////////////////////////////////
13 #ifndef ROOT_TGenerator
14 #include "TGenerator.h"
18 class THydjet : public TGenerator {
24 THydjet(Float_t efrm, const char *frame, Float_t aw,
25 Int_t ifb, Float_t bmin, Float_t bmax, Float_t bfix, Int_t nh);
28 virtual void Initialize();
30 virtual void GenerateEvent();
32 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
33 virtual TObjArray* ImportParticles(Option_t *option="");
36 //Parameters for the generation:
38 virtual void SetEfrm(Float_t efrm);
39 virtual Float_t GetEfrm() const;
41 virtual void SetFrame(const char *frame);
42 virtual const char *GetFrame() const;
44 virtual void SetAw(Float_t aw);
45 virtual Float_t GetAw() const;
47 virtual void SetIfb(Int_t ifb);
48 virtual Int_t GetIfb() const;
50 virtual void SetBmin(Float_t bmin);
51 virtual Float_t GetBmin() const;
53 virtual void SetBmax(Float_t bmax);
54 virtual Float_t GetBmax() const;
56 virtual void SetBfix(Float_t bfix);
57 virtual Float_t GetBfix() const;
59 virtual void SetNh(Int_t nh);
60 virtual Int_t GetNh() const;
64 //common HYFLOW access routines:
66 virtual const void SetYTFL(Float_t ytfl) const;
67 virtual Float_t GetYTFL() const;
69 virtual const void SetYLFL(Float_t ylfl) const;
70 virtual Float_t GetYLFL() const;
72 virtual const void SetFPART(Float_t fpart) const;
73 virtual Float_t GetFPART() const;
75 //common HYJPAR access routines
77 virtual const void SetNHSEL(Int_t nhsel) const;
78 virtual Int_t GetNHSEL() const;
80 virtual const void SetPTMIN(Float_t ptmin) const;
81 virtual Float_t GetPTMIN() const;
83 virtual const void SetNJET(Int_t njet) const;
84 virtual Int_t GetNJET() const;
86 // common HYFPAR access routines - read-only common:
88 virtual Float_t GetBGEN() const;
90 virtual Int_t GetNBCOL() const;
92 virtual Int_t GetNPART() const;
94 virtual Int_t GetNPYT() const;
96 virtual Int_t GetNHYD() const;
99 // common LUJETS access routines - read-only common:
101 virtual Int_t GetN() const;
103 virtual Int_t GetK(Int_t key1, Int_t key2) const;
105 virtual Float_t GetP(Int_t key1, Int_t key2) const;
107 virtual Float_t GetV(Int_t key1, Int_t key2) const;
110 // common HYJETS access routines - read-only common:
112 virtual Int_t GetNL() const;
114 virtual Int_t GetKL(Int_t key1, Int_t key2) const;
116 virtual Float_t GetPL(Int_t key1, Int_t key2) const;
118 virtual Float_t GetVL(Int_t key1, Int_t key2) const;
120 // common PYDAT1 access routines:
122 virtual void SetMSTU(Int_t key, Int_t value);
124 virtual void SetPARU(Int_t key, Double_t value);
126 virtual void SetMSTJ(Int_t key, Int_t value);
128 virtual void SetPARJ(Int_t key, Double_t value);
130 // common PYSUBS access routines:
132 virtual const void SetMSEL(Int_t msel) const;
134 virtual void SetCKIN(Int_t key, Double_t value);
136 // common PYPARS access routines:
138 virtual void SetMSTP(Int_t key, Int_t value);
140 // access to HYDJET routines:
142 virtual void Hydro();
147 Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
148 TString fFrame; // Reference frame CMS or LAB
149 Float_t fAw; // Beam and target nucleus atomic weight
150 Int_t fIfb; // flag of type of centrality generation
151 // 0 impact parameter fixed (bfix)
152 // else impact parameter is generated with standard Glauber geometry
153 // between minimum (bmin) and maximum (bmax) values
154 Float_t fBmin; // Minimum impact parameter in units of nucleus radius RA
155 // (i.e. minimum value in [fm] will be bmin*RA),
156 // valid only if ifb not equal to zero
157 Float_t fBmax; // Maximum impact parameter in units of nucleus radius RA
158 // (i.e. maximum value in [fm] will be bmax*RA),
159 // valid only if ifb not equal to zero
160 Float_t fBfix; // Fixed impact parameter in units of nucleus radius RA
161 // (i.e. fixed value in [fm] will be bfix*RA),
162 // valid only if ifb=0
163 Int_t fNh; // Mean soft hadron multiplicity in central Pb-Pb collisions
164 // (multiplicity for other centralities and atomic numbers
165 // will be calculated automatically).
167 ClassDef(THydjet,1) //Interface to Hydjet Event Generator