]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THydjet/THydjet.h
This commit was generated by cvs2svn to compensate for changes in r18048,
[u/mrichter/AliRoot.git] / THydjet / THydjet.h
diff --git a/THydjet/THydjet.h b/THydjet/THydjet.h
new file mode 100755 (executable)
index 0000000..e98e671
--- /dev/null
@@ -0,0 +1,177 @@
+#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
+
+
+
+
+
+
+