Changes to make code work for pp collisions.
[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
19
20class TDPMjet : public TGenerator {
21
22public:
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
111protected:
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