new class for PbPb cut analysis
[u/mrichter/AliRoot.git] / TDPMjet / TDPMjet.h
index 12d3f3a..ac03d9a 100644 (file)
 //*KEND.
 #endif
 
+typedef enum {kDpmMb, kDpmMbNonDiffr, kDpmDiffr, kDpmSingleDiffr, kDpmDoubleDiffr, kDpmCentralDiffr} DpmProcess_t;
+class TClonesArray;
+
+
 class TDPMjet : public TGenerator {
 
 public:
    
    TDPMjet();
-   TDPMjet(Int_t Ip, Int_t Ipz, Int_t It, Int_t Itz, Double_t Epn, Double_t CMEn);
+   TDPMjet(DpmProcess_t ip, Int_t Ip, Int_t Ipz, Int_t It, Int_t Itz, Double_t Epn, Double_t CMEn);
 
    virtual       ~TDPMjet() {;}
 
@@ -61,11 +65,14 @@ public:
    virtual void SetbRange(Double_t bmin, Double_t bmax) 
                {fBmin = bmin; fBmax = bmax;} 
    virtual Double_t GetMinImpactParameter() const {return fBmin;}  
-   virtual Double_t GetMaxImpactParameter() const {return fBmax;}  
-   
+   virtual Double_t GetMaxImpactParameter() const {return fBmax;}
+
    virtual void  SetfFCentr(Int_t icentr)  {fFCentr = icentr;}
    virtual Int_t GetfFCentr() const        {return fFCentr;}
 
+   virtual void  SetPi0Decay(Int_t iPi0)    {fPi0Decay = iPi0;}
+   virtual void  SetDecayAll(Int_t iDecAll) {fDecayAll = iDecAll;}
+   
    // Access to DPMJET common blocks:
    virtual Int_t    GetEvNum() const;            
    virtual Int_t    GetEntriesNum() const;               
@@ -88,10 +95,19 @@ public:
    virtual Double_t GetTargRadius() const;
    virtual Int_t GetProjWounded() const;
    virtual Int_t GetTargWounded() const;
-   virtual Int_t GetProjSpectators() const;
-   virtual Int_t GetTargSpectators() const;
+   virtual Int_t GetProjParticipants() const;
+   virtual Int_t GetTargParticipants() const;
+   virtual Int_t    GetProcessCode() const;
+
+   // Phojet access (POEVT1)
+   virtual Int_t NHEP()                   const;
+   virtual Int_t ISTHEP(Int_t i)          const;
+   virtual Int_t IDHEP(Int_t i)           const;
+   virtual Int_t PHEP(Int_t i, Int_t j)   const;
+   
+      
+          
    
-  
    // Access to DPMJET routines:
    virtual void Dt_Dtuini(int nevts, double epn, int npmass, int npchar, 
                          int ntmass, int ntchar, int idp, int iemu);
@@ -108,22 +124,26 @@ public:
    virtual void Dt_Rndmin(int u, int c, int cd, int cm, int i, int j);   
    virtual void Dt_Rndmou(int u, int c, int cd, int cm, int i, int j);   
 
+   
 protected:
 
-   Int_t    fNEvent;   // Event number to be generated 
-   Int_t    fIp;       // Projectile mass
-   Int_t    fIpz;      // Projectile charge
-   Int_t    fIt;       // Target mass
-   Int_t    fItz;      // Target charge
-   Double_t fEpn;      // Beam energy
-   Double_t fPpn;      // Beam momentum
-   Double_t fCMEn;     // Energy in CM 
-   Int_t    fIdp;      // Internal particle code
-   Double_t fBmin;     // Minimum impact parameter
-   Double_t fBmax;     // Maximum impact parameter
-   Int_t    fFCentr;   // Flag to force central collisions
-
-   ClassDef(TDPMjet,1)  //Interface to DPMJET Event Generator
+   Int_t        fNEvent;  // Event number to be generated 
+   Int_t        fIp;     // Projectile mass
+   Int_t        fIpz;    // Projectile charge
+   Int_t        fIt;     // Target mass
+   Int_t        fItz;    // Target charge
+   Float_t      fEpn;    // Beam energy
+   Float_t      fPpn;    // Beam momentum
+   Float_t      fCMEn;   // Energy in CM 
+   Int_t        fIdp;    // Internal particle code
+   Float_t      fBmin;   // Minimum impact parameter
+   Float_t      fBmax;   // Maximum impact parameter
+   Int_t        fFCentr;  // Flag to force central collisions
+   Int_t        fPi0Decay;// Flag for pi0 decays
+   Int_t        fDecayAll;// Flag to decay also long-lived particles
+   DpmProcess_t fProcess; // Process type
+   
+   ClassDef(TDPMjet,2)  //Interface to DPMJET Event Generator
 };
 
 #endif