//*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() {;}
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;
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);
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