Also rename PYTHIA call
[u/mrichter/AliRoot.git] / TAmpt / TAmpt.h
CommitLineData
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
9class TObjArray;
10
11class TAmpt : public TGenerator {
12public:
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
a004b331 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 virtual void SetAlpha(Float_t alpha);
140 virtual void SetStringFrag(Float_t a, Float_t b);
0119ef9a 141
142protected:
143 Double_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)
144 TString fFrame; // Reference frame CMS or LAB
145 TString fProj; // Projectile name
146 TString fTarg; // Target name
147 Int_t fIap; // Atomic number of projectile
148 Int_t fIzp; // Charge number of projectile
149 Int_t fIat; // Atomic number of target
150 Int_t fIzt; // Charge number of target
151 Double_t fBmin; // Minimum impact parameter
152 Double_t fBmax; // Maximum impact parameter
153 Double_t fPhi; //reaction plane angle (rotated from zero in C++ code)
154
155 ClassDef(TAmpt,1) //Interface to Ampt Event Generator
156};
157#endif