]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliGenerator.h
Coding convention corrections + few minor bug fixes
[u/mrichter/AliRoot.git] / STEER / AliGenerator.h
index c9759dbe8cac1faf568d24a50543a2fbe5983c7b..7f545afa0e725530c37cc335f05f705b93c29409 100644 (file)
 #include "TArrayF.h"
 #include "TGenerator.h"
 
-typedef enum { none, perEvent, perTrack } VertexSmear_t;
+typedef enum { kNoSmear, kPerEvent, kPerTrack } VertexSmear_t;
 
 class AliGenerator : public TNamed
 {
 
-protected:
-    static TGenerator* fgMCEvGen;
-    Float_t     fThetaMin;     //Minimum theta of generation in radians
-    Float_t     fThetaMax;     //Maximum theta of generation in radians
-    Float_t     fPhiMin;       //Minimum phi of generation in radians
-    Float_t     fPhiMax;       //Maximum phi of generation in radians
-    Float_t     fPMin;         //Minimum momentum of generation in GeV/c
-    Float_t     fPMax;         //Minimum momentum of generation in GeV/c
-    Float_t     fPtMin;        //Minimum transverse momentum
-    Float_t     fPtMax;        //Maximum transverse momentum
-    Float_t     fYMin;         //Minimum rapidity
-    Float_t     fYMax;         //Maximum rapidity
-    TArrayF     fVMin;         //Minimum Decaylength
-    TArrayF     fVMax;         //Minimum Decaylength    
-    Int_t       fNpart;        //Maximum number of particles per event
-    Float_t     fParentWeight; //Parent Weight
-    Float_t     fChildWeight;  //ChildWeight
-    Int_t       fTrackit;      // Track the generated final state particle if 1
-    Int_t       fAnalog;       //Flaf for anolog or pt-weighted generation
-   //
-    VertexSmear_t     fVertexSmear; //Vertex Smearing mode
-    Int_t       fTrackIt;    // if 1 Track final state particles 
-    TArrayF     fOrigin;     //Origin of event
-    TArrayF     fOsigma;     //Sigma of the Origin of event
-
-    enum {kThetaRange=1, kVertexRange=2, kPhiRange=4, kPtRange=8,
-         kYRange=32, kMomentumRange=16};
-
  public:
     AliGenerator();
     AliGenerator(Int_t npart);
+    AliGenerator(const AliGenerator &gen);
     virtual ~AliGenerator();
     virtual void Init();
+    virtual void Copy(AliGenerator &gen) const;
     virtual void SetOrigin(Float_t ox, Float_t oy, Float_t oz)
        {fOrigin[0]=ox;fOrigin[1]=oy;fOrigin[2]=oz;}
     virtual void SetOrigin(const TLorentzVector &o)
@@ -92,6 +66,8 @@ protected:
     virtual void SetMC(TGenerator *theMC) 
        {if (!fgMCEvGen) fgMCEvGen =theMC;}
 
+    virtual AliGenerator & operator=(const AliGenerator &gen);
+
   // Getters
 
     virtual void GetOrigin(Float_t &ox, Float_t &oy, Float_t &oz)
@@ -99,6 +75,34 @@ protected:
     virtual void GetOrigin(TLorentzVector &o)
        {o[0]=fOrigin[0];o[1]=fOrigin[1];o[2]=fOrigin[2];o[3]=0;}
 
+protected:
+    static TGenerator* fgMCEvGen; // Pointer to the generator
+    Float_t     fThetaMin;     //Minimum theta of generation in radians
+    Float_t     fThetaMax;     //Maximum theta of generation in radians
+    Float_t     fPhiMin;       //Minimum phi of generation in radians
+    Float_t     fPhiMax;       //Maximum phi of generation in radians
+    Float_t     fPMin;         //Minimum momentum of generation in GeV/c
+    Float_t     fPMax;         //Minimum momentum of generation in GeV/c
+    Float_t     fPtMin;        //Minimum transverse momentum
+    Float_t     fPtMax;        //Maximum transverse momentum
+    Float_t     fYMin;         //Minimum rapidity
+    Float_t     fYMax;         //Maximum rapidity
+    TArrayF     fVMin;         //Minimum Decaylength
+    TArrayF     fVMax;         //Minimum Decaylength    
+    Int_t       fNpart;        //Maximum number of particles per event
+    Float_t     fParentWeight; //Parent Weight
+    Float_t     fChildWeight;  //ChildWeight
+    Int_t       fTrackit;      // Track the generated final state particle if 1
+    Int_t       fAnalog;       //Flaf for anolog or pt-weighted generation
+   //
+    VertexSmear_t     fVertexSmear; //Vertex Smearing mode
+    Int_t       fTrackIt;    // if 1 Track final state particles 
+    TArrayF     fOrigin;     //Origin of event
+    TArrayF     fOsigma;     //Sigma of the Origin of event
+
+    enum {kThetaRange=1, kVertexRange=2, kPhiRange=4, kPtRange=8,
+         kYRange=32, kMomentumRange=16};
+
     ClassDef(AliGenerator,1)
 };