Class moved to STEERBase.
[u/mrichter/AliRoot.git] / TDPMjet / TDPMjet.h
CommitLineData
1a52e0ed 1#ifndef ROOT_TDPMjet
2#define ROOT_TDPMjet
3
4//+SEQ,CopyRight,T=NOINCLUDE.
5
6//////////////////////////////////////////////////////////////////////////
7// //
8// TDPMjet //
9// //
10// This class implements an interface to the DPMJET 3.0 event generator.//
11// //
12//////////////////////////////////////////////////////////////////////////
13
14#ifndef ROOT_TGenerator
15//*KEEP,TGenerator.
16#include "TGenerator.h"
17//*KEND.
18#endif
6a45631b 19
20typedef enum {kDpmMb, kDpmMbNonDiffr, kDpmDiffr, kDpmSingleDiffr, kDpmDoubleDiffr} DpmProcess_t;
21
1a52e0ed 22
23class TDPMjet : public TGenerator {
24
25public:
26
27 TDPMjet();
d38751f5 28 TDPMjet(DpmProcess_t ip, Int_t Ip, Int_t Ipz, Int_t It, Int_t Itz, Double_t Epn, Double_t CMEn);
1a52e0ed 29
30 virtual ~TDPMjet() {;}
31
32 virtual void Initialize();
33
34 virtual void GenerateEvent();
35
36 virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
1e6b599d 37 virtual TObjArray *ImportParticles(Option_t * /*option*/) {return 0;}
1a52e0ed 38
39 // Parameters for the generation:
40 virtual void SetNEvent(Int_t iev) {fNEvent = iev;}
41 virtual Int_t GetNEvent() {return fNEvent;}
42
43 virtual void SetfIp(Int_t Ip) {fIp = Ip;}
44 virtual Int_t GetfIp() const {return fIp;}
45
46 virtual void SetfIpz(Int_t Ipz) {fIpz = Ipz;}
47 virtual Int_t GetfIpz() const {return fIpz;}
48
49 virtual void SetfIt(Int_t It) {fIt = It;}
50 virtual Int_t GetfIt() const {return fIt;}
51
52 virtual void SetfItz(Int_t Itz) {fItz = Itz;}
53 virtual Int_t GetfItz() const {return fItz;}
54
55 virtual void SetfEpn(Double_t Epn) {fEpn = Epn;}
56 virtual Double_t GetfEpn() const {return fEpn;}
57
58 virtual void SetfCMEn(Double_t CMEn) {fCMEn = CMEn;}
59 virtual Double_t GetfCMEn() const {return fCMEn;}
60
61 virtual void SetfIdp(Int_t idp) {fIdp = idp;}
62 virtual Int_t GetfIdp() const {return fIdp;}
63
64 virtual void SetbRange(Double_t bmin, Double_t bmax)
65 {fBmin = bmin; fBmax = bmax;}
66 virtual Double_t GetMinImpactParameter() const {return fBmin;}
f97d4a8e 67 virtual Double_t GetMaxImpactParameter() const {return fBmax;}
68
1a52e0ed 69 virtual void SetfFCentr(Int_t icentr) {fFCentr = icentr;}
70 virtual Int_t GetfFCentr() const {return fFCentr;}
71
f97d4a8e 72 virtual void SetPi0Decay(Int_t iPi0) {fPi0Decay = iPi0;}
73
74
1a52e0ed 75 // Access to DPMJET common blocks:
76 virtual Int_t GetEvNum() const;
77 virtual Int_t GetEntriesNum() const;
78 virtual Int_t GetNumStablePc() const;
79 virtual Float_t GetTotEnergy() const;
80 virtual Int_t GetStatusCode(Int_t evnum) const;
81 virtual Int_t GetPDGCode(Int_t evnum) const;
82 virtual Double_t Getpx(Int_t evnum) const;
83 virtual Double_t Getpy(Int_t evnum) const;
84 virtual Double_t Getpz(Int_t evnum) const;
85 virtual Double_t GetEnergy(Int_t evnum) const;
86 virtual Double_t GetMass(Int_t evnum) const;
87
88 virtual Int_t GetFragmentA(Int_t evnum) const;
89 virtual Int_t GetFragmentZ(Int_t evnum) const;
90
91 virtual Double_t GetXSFrac() const;
92 virtual Double_t GetBImpac() const;
93 virtual Double_t GetProjRadius() const;
94 virtual Double_t GetTargRadius() const;
95 virtual Int_t GetProjWounded() const;
96 virtual Int_t GetTargWounded() const;
97 virtual Int_t GetProjSpectators() const;
98 virtual Int_t GetTargSpectators() const;
9dcc0beb 99 virtual Int_t GetProcessCode() const;
100
1a52e0ed 101 // Access to DPMJET routines:
102 virtual void Dt_Dtuini(int nevts, double epn, int npmass, int npchar,
103 int ntmass, int ntchar, int idp, int iemu);
104
105 virtual void Dt_Kkinc(int npmass, int npchar, int ntmass, int ntchar,
106 int idp, double elab, int kkmat, int irej);
107
108 virtual void Pho_Phist(int imode, double weight);
109
110 virtual void Dt_Dtuout();
111
112 virtual void Dt_Rndm(int idummy);
113 virtual void Dt_Rndmst(int na1, int na2, int na3, int nb1);
114 virtual void Dt_Rndmin(int u, int c, int cd, int cm, int i, int j);
115 virtual void Dt_Rndmou(int u, int c, int cd, int cm, int i, int j);
116
117protected:
118
d38751f5 119 Int_t fNEvent; // Event number to be generated
120 Int_t fIp; // Projectile mass
121 Int_t fIpz; // Projectile charge
122 Int_t fIt; // Target mass
123 Int_t fItz; // Target charge
124 Float_t fEpn; // Beam energy
125 Float_t fPpn; // Beam momentum
126 Float_t fCMEn; // Energy in CM
127 Int_t fIdp; // Internal particle code
128 Float_t fBmin; // Minimum impact parameter
129 Float_t fBmax; // Maximum impact parameter
130 Int_t fFCentr; // Flag to force central collisions
f97d4a8e 131 Int_t fPi0Decay;// Flag for pi0 decays
d38751f5 132 DpmProcess_t fProcess; // Process type
133
134 ClassDef(TDPMjet,2) //Interface to DPMJET Event Generator
1a52e0ed 135};
136
137#endif
138
139
140
141
142
143
144