--- /dev/null
+#ifndef THYDJET_H
+#define THYDJET_H
+
+
+//////////////////////////////////////////////////////////////////////////
+// //
+// THydjet //
+// //
+// This class implements an interface to the Hydjet event generator. //
+// //
+//////////////////////////////////////////////////////////////////////////
+
+#ifndef ROOT_TGenerator
+#include "TGenerator.h"
+#endif
+class TObjArray;
+
+class THydjet : public TGenerator {
+
+
+public:
+
+ THydjet();
+ THydjet(Float_t efrm, const char *frame, Float_t aw,
+ Int_t ifb, Float_t bmin, Float_t bmax, Float_t bfix, Int_t nh);
+ virtual ~THydjet();
+
+ virtual void Initialize();
+
+ virtual void GenerateEvent();
+
+ virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
+ virtual TObjArray* ImportParticles(Option_t *option="");
+
+
+ //Parameters for the generation:
+
+ virtual void SetEfrm(Float_t efrm);
+ virtual Float_t GetEfrm() const;
+
+ virtual void SetFrame(const char *frame);
+ virtual const char *GetFrame() const;
+
+ virtual void SetAw(Float_t aw);
+ virtual Float_t GetAw() const;
+
+ virtual void SetIfb(Int_t ifb);
+ virtual Int_t GetIfb() const;
+
+ virtual void SetBmin(Float_t bmin);
+ virtual Float_t GetBmin() const;
+
+ virtual void SetBmax(Float_t bmax);
+ virtual Float_t GetBmax() const;
+
+ virtual void SetBfix(Float_t bfix);
+ virtual Float_t GetBfix() const;
+
+ virtual void SetNh(Int_t nh);
+ virtual Int_t GetNh() const;
+
+
+
+ //common HYFLOW access routines:
+
+ virtual const void SetYTFL(Float_t ytfl) const;
+ virtual Float_t GetYTFL() const;
+
+ virtual const void SetYLFL(Float_t ylfl) const;
+ virtual Float_t GetYLFL() const;
+
+ virtual const void SetFPART(Float_t fpart) const;
+ virtual Float_t GetFPART() const;
+
+ //common HYJPAR access routines
+
+ virtual const void SetNHSEL(Int_t nhsel) const;
+ virtual Int_t GetNHSEL() const;
+
+ virtual const void SetPTMIN(Float_t ptmin) const;
+ virtual Float_t GetPTMIN() const;
+
+ virtual const void SetNJET(Int_t njet) const;
+ virtual Int_t GetNJET() const;
+
+ // common HYFPAR access routines - read-only common:
+
+ virtual Float_t GetBGEN() const;
+
+ virtual Int_t GetNBCOL() const;
+
+ virtual Int_t GetNPART() const;
+
+ virtual Int_t GetNPYT() const;
+
+ virtual Int_t GetNHYD() const;
+
+
+ // common LUJETS access routines - read-only common:
+
+ virtual Int_t GetN() const;
+
+ virtual Int_t GetK(Int_t key1, Int_t key2) const;
+
+ virtual Float_t GetP(Int_t key1, Int_t key2) const;
+
+ virtual Float_t GetV(Int_t key1, Int_t key2) const;
+
+
+ // common HYJETS access routines - read-only common:
+
+ virtual Int_t GetNL() const;
+
+ virtual Int_t GetKL(Int_t key1, Int_t key2) const;
+
+ virtual Float_t GetPL(Int_t key1, Int_t key2) const;
+
+ virtual Float_t GetVL(Int_t key1, Int_t key2) const;
+
+ // common PYDAT1 access routines:
+
+ virtual void SetMSTU(Int_t key, Int_t value);
+
+ virtual void SetPARU(Int_t key, Double_t value);
+
+ virtual void SetMSTJ(Int_t key, Int_t value);
+
+ virtual void SetPARJ(Int_t key, Double_t value);
+
+ // common PYSUBS access routines:
+
+ virtual const void SetMSEL(Int_t msel) const;
+
+ virtual void SetCKIN(Int_t key, Double_t value);
+
+ // common PYPARS access routines:
+
+ virtual void SetMSTP(Int_t key, Int_t value);
+
+ // access to HYDJET routines:
+
+ virtual void Hydro();
+
+
+ protected:
+
+ Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
+ TString fFrame; // Reference frame CMS or LAB
+ Float_t fAw; // Beam and target nucleus atomic weight
+ Int_t fIfb; // flag of type of centrality generation
+ // 0 impact parameter fixed (bfix)
+ // else impact parameter is generated with standard Glauber geometry
+ // between minimum (bmin) and maximum (bmax) values
+ Float_t fBmin; // Minimum impact parameter in units of nucleus radius RA
+ // (i.e. minimum value in [fm] will be bmin*RA),
+ // valid only if ifb not equal to zero
+ Float_t fBmax; // Maximum impact parameter in units of nucleus radius RA
+ // (i.e. maximum value in [fm] will be bmax*RA),
+ // valid only if ifb not equal to zero
+ Float_t fBfix; // Fixed impact parameter in units of nucleus radius RA
+ // (i.e. fixed value in [fm] will be bfix*RA),
+ // valid only if ifb=0
+ Int_t fNh; // Mean soft hadron multiplicity in central Pb-Pb collisions
+ // (multiplicity for other centralities and atomic numbers
+ // will be calculated automatically).
+
+ ClassDef(THydjet,1) //Interface to Hydjet Event Generator
+};
+
+#endif
+
+
+
+
+
+
+