]>
Commit | Line | Data |
---|---|---|
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 | |
19 | ||
20 | class TDPMjet : public TGenerator { | |
21 | ||
22 | public: | |
23 | ||
24 | TDPMjet(); | |
25 | TDPMjet(Int_t Ip, Int_t Ipz, Int_t It, Int_t Itz, Double_t Epn, Double_t CMEn); | |
26 | ||
27 | virtual ~TDPMjet() {;} | |
28 | ||
29 | virtual void Initialize(); | |
30 | ||
31 | virtual void GenerateEvent(); | |
32 | ||
33 | virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option=""); | |
34 | ||
35 | ||
36 | // Parameters for the generation: | |
37 | virtual void SetNEvent(Int_t iev) {fNEvent = iev;} | |
38 | virtual Int_t GetNEvent() {return fNEvent;} | |
39 | ||
40 | virtual void SetfIp(Int_t Ip) {fIp = Ip;} | |
41 | virtual Int_t GetfIp() const {return fIp;} | |
42 | ||
43 | virtual void SetfIpz(Int_t Ipz) {fIpz = Ipz;} | |
44 | virtual Int_t GetfIpz() const {return fIpz;} | |
45 | ||
46 | virtual void SetfIt(Int_t It) {fIt = It;} | |
47 | virtual Int_t GetfIt() const {return fIt;} | |
48 | ||
49 | virtual void SetfItz(Int_t Itz) {fItz = Itz;} | |
50 | virtual Int_t GetfItz() const {return fItz;} | |
51 | ||
52 | virtual void SetfEpn(Double_t Epn) {fEpn = Epn;} | |
53 | virtual Double_t GetfEpn() const {return fEpn;} | |
54 | ||
55 | virtual void SetfCMEn(Double_t CMEn) {fCMEn = CMEn;} | |
56 | virtual Double_t GetfCMEn() const {return fCMEn;} | |
57 | ||
58 | virtual void SetfIdp(Int_t idp) {fIdp = idp;} | |
59 | virtual Int_t GetfIdp() const {return fIdp;} | |
60 | ||
61 | virtual void SetbRange(Double_t bmin, Double_t bmax) | |
62 | {fBmin = bmin; fBmax = bmax;} | |
63 | virtual Double_t GetMinImpactParameter() const {return fBmin;} | |
64 | virtual Double_t GetMaxImpactParameter() const {return fBmax;} | |
65 | ||
66 | virtual void SetfFCentr(Int_t icentr) {fFCentr = icentr;} | |
67 | virtual Int_t GetfFCentr() const {return fFCentr;} | |
68 | ||
69 | // Access to DPMJET common blocks: | |
70 | virtual Int_t GetEvNum() const; | |
71 | virtual Int_t GetEntriesNum() const; | |
72 | virtual Int_t GetNumStablePc() const; | |
73 | virtual Float_t GetTotEnergy() const; | |
74 | virtual Int_t GetStatusCode(Int_t evnum) const; | |
75 | virtual Int_t GetPDGCode(Int_t evnum) const; | |
76 | virtual Double_t Getpx(Int_t evnum) const; | |
77 | virtual Double_t Getpy(Int_t evnum) const; | |
78 | virtual Double_t Getpz(Int_t evnum) const; | |
79 | virtual Double_t GetEnergy(Int_t evnum) const; | |
80 | virtual Double_t GetMass(Int_t evnum) const; | |
81 | ||
82 | virtual Int_t GetFragmentA(Int_t evnum) const; | |
83 | virtual Int_t GetFragmentZ(Int_t evnum) const; | |
84 | ||
85 | virtual Double_t GetXSFrac() const; | |
86 | virtual Double_t GetBImpac() const; | |
87 | virtual Double_t GetProjRadius() const; | |
88 | virtual Double_t GetTargRadius() const; | |
89 | virtual Int_t GetProjWounded() const; | |
90 | virtual Int_t GetTargWounded() const; | |
91 | virtual Int_t GetProjSpectators() const; | |
92 | virtual Int_t GetTargSpectators() const; | |
93 | ||
94 | ||
95 | // Access to DPMJET routines: | |
96 | virtual void Dt_Dtuini(int nevts, double epn, int npmass, int npchar, | |
97 | int ntmass, int ntchar, int idp, int iemu); | |
98 | ||
99 | virtual void Dt_Kkinc(int npmass, int npchar, int ntmass, int ntchar, | |
100 | int idp, double elab, int kkmat, int irej); | |
101 | ||
102 | virtual void Pho_Phist(int imode, double weight); | |
103 | ||
104 | virtual void Dt_Dtuout(); | |
105 | ||
106 | virtual void Dt_Rndm(int idummy); | |
107 | virtual void Dt_Rndmst(int na1, int na2, int na3, int nb1); | |
108 | virtual void Dt_Rndmin(int u, int c, int cd, int cm, int i, int j); | |
109 | virtual void Dt_Rndmou(int u, int c, int cd, int cm, int i, int j); | |
110 | ||
111 | protected: | |
112 | ||
113 | Int_t fNEvent; // Event number to be generated | |
114 | Int_t fIp; // Projectile mass | |
115 | Int_t fIpz; // Projectile charge | |
116 | Int_t fIt; // Target mass | |
117 | Int_t fItz; // Target charge | |
118 | Double_t fEpn; // Beam energy | |
119 | Double_t fPpn; // Beam momentum | |
120 | Double_t fCMEn; // Energy in CM | |
121 | Int_t fIdp; // Internal particle code | |
122 | Double_t fBmin; // Minimum impact parameter | |
123 | Double_t fBmax; // Maximum impact parameter | |
124 | Int_t fFCentr; // Flag to force central collisions | |
125 | ||
126 | ClassDef(TDPMjet,1) //Interface to DPMJET Event Generator | |
127 | }; | |
128 | ||
129 | #endif | |
130 | ||
131 | ||
132 | ||
133 | ||
134 | ||
135 | ||
136 |