]>
Commit | Line | Data |
---|---|---|
0119ef9a | 1 | #ifndef TAMPT_H |
2 | #define TAMPT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | #ifndef ROOT_TGenerator | |
7 | #include "TGenerator.h" | |
8 | #endif | |
9 | class TObjArray; | |
10 | ||
11 | class TAmpt : public TGenerator { | |
12 | public: | |
13 | TAmpt(); | |
14 | TAmpt(Double_t efrm, const char *frame, const char *proj, const char *targ, | |
15 | Int_t iap, Int_t izp, Int_t iat, Int_t izt, Double_t bmin, Double_t bmax); | |
16 | virtual ~TAmpt(); | |
17 | virtual void Initialize(); | |
18 | virtual void GenerateEvent(); | |
19 | virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option=""); | |
20 | virtual TObjArray* ImportParticles(Option_t *option=""); | |
21 | virtual Int_t ImportNucleons(TClonesArray *nucleons, Option_t *option=""); | |
22 | ||
23 | //Parameters for the generation: | |
24 | virtual void SetEFRM(Float_t efrm); | |
25 | virtual Float_t GetEFRM() const; | |
26 | ||
27 | virtual void SetFRAME(const char *frame); | |
28 | virtual const char *GetFRAME() const; | |
29 | ||
30 | virtual void SetPROJ(const char *frame); | |
31 | virtual const char *GetPROJ() const; | |
32 | ||
33 | virtual void SetTARG(const char *frame); | |
34 | virtual const char *GetTARG() const; | |
35 | ||
36 | virtual void SetIAP(Int_t iap); | |
37 | virtual Int_t GetIAP() const; | |
38 | ||
39 | virtual void SetIZP(Int_t izp); | |
40 | virtual Int_t GetIZP() const; | |
41 | ||
42 | virtual void SetIAT(Int_t iat); | |
43 | virtual Int_t GetIAT() const; | |
44 | ||
45 | virtual void SetIZT(Int_t izt); | |
46 | virtual Int_t GetIZT() const; | |
47 | ||
48 | virtual void SetBMIN(Float_t bmin); | |
49 | virtual Float_t GetBMIN() const; | |
50 | ||
51 | virtual void SetBMAX(Float_t bmax); | |
52 | virtual Float_t GetBMAX() const; | |
53 | ||
54 | //common HIPARNT access routines: | |
55 | virtual void SetHIPR1(Int_t key, Float_t value); | |
56 | virtual Float_t GetHIPR1(Int_t key) const; | |
57 | ||
58 | virtual void SetIHPR2(Int_t key, Int_t value); | |
59 | virtual Int_t GetIHPR2(Int_t key) const; | |
60 | ||
61 | virtual Float_t GetHINT1(Int_t key) const; | |
62 | virtual Int_t GetIHNT2(Int_t key) const; | |
63 | ||
64 | //common HIMAIN1 access routines - read-only common: | |
65 | ||
66 | virtual Int_t GetNATT() const; | |
67 | virtual Float_t GetEATT() const; | |
68 | virtual Int_t GetJATT() const; | |
69 | virtual Int_t GetNT() const; | |
70 | virtual Int_t GetNP() const; | |
71 | virtual Int_t GetN0() const; | |
72 | virtual Int_t GetN01() const; | |
73 | virtual Int_t GetN10() const; | |
74 | virtual Int_t GetN11() const; | |
75 | virtual Float_t GetBB() const; | |
76 | virtual Float_t GetPhi() const { return fPhi; } | |
77 | ||
78 | // common HIMAIN2 access routines - read-only common: | |
79 | virtual Int_t GetKATT(Int_t key1, Int_t key2) const; | |
80 | virtual Float_t GetPATT(Int_t key1, Int_t key2) const; | |
81 | virtual Float_t GetVATT(Int_t key1, Int_t key2) const; | |
82 | ||
83 | // common HIJJET1 access routines - read-only common: | |
84 | virtual Int_t GetNPJ(Int_t key) const; | |
85 | virtual Int_t GetKFPJ(Int_t key1, Int_t key2) const; | |
86 | virtual Float_t GetPJPX(Int_t key1, Int_t key2) const; | |
87 | virtual Float_t GetPJPY(Int_t key1, Int_t key2) const; | |
88 | virtual Float_t GetPJPZ(Int_t key1, Int_t key2) const; | |
89 | virtual Float_t GetPJPE(Int_t key1, Int_t key2) const; | |
90 | virtual Float_t GetPJPM(Int_t key1, Int_t key2) const; | |
91 | virtual Int_t GetNTJ(Int_t key) const; | |
92 | virtual Int_t GetKFTJ(Int_t key1, Int_t key2) const; | |
93 | virtual Float_t GetPJTX(Int_t key1, Int_t key2) const; | |
94 | virtual Float_t GetPJTY(Int_t key1, Int_t key2) const; | |
95 | virtual Float_t GetPJTZ(Int_t key1, Int_t key2) const; | |
96 | virtual Float_t GetPJTE(Int_t key1, Int_t key2) const; | |
97 | virtual Float_t GetPJTM(Int_t key1, Int_t key2) const; | |
98 | ||
99 | // common HIJJET2 access routines - read-only common: | |
100 | virtual Int_t GetNSG() const; | |
101 | virtual Int_t GetNJSG(Int_t key) const; | |
102 | virtual Int_t GetIASG(Int_t key1, Int_t key2) const; | |
103 | virtual Int_t GetK1SG(Int_t key1, Int_t key2) const; | |
104 | virtual Int_t GetK2SG(Int_t key1, Int_t key2) const; | |
105 | virtual Float_t GetPXSG(Int_t key1, Int_t key2) const; | |
106 | virtual Float_t GetPYSG(Int_t key1, Int_t key2) const; | |
107 | virtual Float_t GetPZSG(Int_t key1, Int_t key2) const; | |
108 | virtual Float_t GetPESG(Int_t key1, Int_t key2) const; | |
109 | virtual Float_t GetPMSG(Int_t key1, Int_t key2) const; | |
110 | ||
111 | // common HISTRNG access routines - read-only common: | |
112 | virtual Int_t GetNFP(Int_t key1, Int_t key2) const; | |
113 | virtual Float_t GetPP(Int_t key1, Int_t key2) const; | |
114 | virtual Int_t GetNFT(Int_t key1, Int_t key2) const; | |
115 | virtual Float_t GetPT(Int_t key1, Int_t key2) const; | |
116 | ||
117 | // common LUDAT1_AMPT common: | |
118 | virtual void SetPARJ(Int_t key, Float_t parm); | |
119 | virtual void SetMSTJ(Int_t key, Int_t parm); | |
120 | ||
121 | // access to AMPT routines: | |
122 | virtual void Amptset(Double_t efrm, const char* frame, const char* | |
123 | proj, const char* targ, Int_t iap, Int_t izp, | |
124 | Int_t iat, Int_t izt); | |
125 | ||
126 | virtual void Ampt(const char* frame, Double_t bmin, Double_t bmax); | |
127 | ||
128 | virtual Float_t Profile(Float_t b); | |
129 | ||
130 | // access to Jetset routines | |
131 | virtual void Rluget(Int_t lfn, Int_t move=0); | |
132 | virtual void Rluset(Int_t lfn, Int_t move=0); | |
133 | ||
134 | // set AMPT specific | |
135 | virtual void SetIsoft(Int_t i); | |
136 | virtual void SetNtMax(Int_t max); | |
137 | virtual void SetIpop(Int_t pop); | |
138 | virtual void SetXmu(Float_t m); | |
139 | ||
140 | protected: | |
141 | Double_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB) | |
142 | TString fFrame; // Reference frame CMS or LAB | |
143 | TString fProj; // Projectile name | |
144 | TString fTarg; // Target name | |
145 | Int_t fIap; // Atomic number of projectile | |
146 | Int_t fIzp; // Charge number of projectile | |
147 | Int_t fIat; // Atomic number of target | |
148 | Int_t fIzt; // Charge number of target | |
149 | Double_t fBmin; // Minimum impact parameter | |
150 | Double_t fBmax; // Maximum impact parameter | |
151 | Double_t fPhi; //reaction plane angle (rotated from zero in C++ code) | |
152 | ||
153 | ClassDef(TAmpt,1) //Interface to Ampt Event Generator | |
154 | }; | |
155 | #endif |