]>
Commit | Line | Data |
---|---|---|
7816887f | 1 | #ifndef ALIGEVSIMPARTICLE_H |
2 | #define ALIGEVSIMPARTICLE_H | |
3 | ||
4966b266 | 4 | //////////////////////////////////////////////////////////////////////////////// |
5 | // | |
6 | // AliGeVSimParticle is a helper class for GeVSim (AliGenGeVSim) event generator. | |
7 | // An object of this class represents one particle type and contain | |
8 | // information about particle type thermal parameters. | |
9 | // | |
7e4131fc | 10 | //////////////////////////////////////////////////////////////////////////////// |
11 | // | |
4966b266 | 12 | // For examples, parameters and testing macros refer to: |
13 | // http:/home.cern.ch/radomski | |
7e4131fc | 14 | // |
15 | // for more detailed description refer to ALICE NOTE | |
16 | // "GeVSim Monte-Carlo Event Generator" | |
17 | // S.Radosmki, P. Foka. | |
18 | // | |
4966b266 | 19 | // Author: |
20 | // Sylwester Radomski, | |
21 | // GSI, March 2002 | |
7e4131fc | 22 | // |
4966b266 | 23 | // S.Radomski@gsi.de |
24 | // | |
25 | //////////////////////////////////////////////////////////////////////////////// | |
7e4131fc | 26 | // |
27 | // Updated and revised: September 2002, S. Radomski, GSI | |
28 | // | |
29 | //////////////////////////////////////////////////////////////////////////////// | |
30 | ||
7816887f | 31 | |
4966b266 | 32 | #include "TObject.h" |
7816887f | 33 | |
34 | class AliGeVSimParticle : public TObject { | |
35 | ||
7816887f | 36 | public: |
4966b266 | 37 | |
7816887f | 38 | //////////////////////////////////////////////////////////////////////////// |
4966b266 | 39 | |
7816887f | 40 | AliGeVSimParticle() {} |
7e4131fc | 41 | AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity); |
42 | AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity, | |
7816887f | 43 | Float_t T, Float_t dY = 1., Float_t exp=0.); |
4966b266 | 44 | |
7816887f | 45 | ~AliGeVSimParticle() {} |
4966b266 | 46 | |
7816887f | 47 | //////////////////////////////////////////////////////////////////////////// |
4966b266 | 48 | |
49 | Int_t GetPdgCode() const {return fPDG;} | |
7e4131fc | 50 | Int_t GetModel() const {return fModel;} |
51 | ||
4966b266 | 52 | Float_t GetTemperature() const {return fT;} |
53 | Float_t GetSigmaY() const {return fSigmaY;} | |
54 | Float_t GetExpansionVelocity() const {return fExpansion;} | |
7e4131fc | 55 | |
56 | void SetModel(Int_t model); | |
57 | void SetTemperature(Float_t T) {fT = T;} | |
58 | void SetSigmaY(Float_t sigma) {fSigmaY = sigma;} | |
7816887f | 59 | void SetExpansionVelocity(Float_t vel) {fExpansion = vel;} |
4966b266 | 60 | |
7e4131fc | 61 | |
62 | // Multiplicity | |
63 | ||
64 | void SetMultiplicity(Float_t mult); | |
65 | Float_t GetMultiplicity() {return fN;} | |
66 | ||
67 | void SetMultTotal(Bool_t isTotal = kTRUE); | |
68 | ||
69 | Bool_t IsMultTotal() {return fMultTotal;} | |
70 | Bool_t IsMultForced() {return fIsSetMult;} | |
4966b266 | 71 | |
7e4131fc | 72 | // Flow |
4966b266 | 73 | |
7e4131fc | 74 | void SetDirectedSimple(Float_t v1); |
75 | void SetEllipticSimple(Float_t v2); | |
76 | ||
77 | void SetDirectedParam(Float_t v11, Float_t v12=0, Float_t v13=1, Float_t v14=0); | |
78 | void SetEllipticParam(Float_t v21, Float_t pTmax, Float_t v22=0.); | |
79 | void SetEllipticOld(Float_t v21, Float_t v22, Float_t v23); | |
80 | ||
81 | Bool_t IsFlowSimple(); | |
82 | ||
4966b266 | 83 | Float_t GetDirectedFlow(Float_t pt, Float_t y); |
84 | Float_t GetEllipticFlow(Float_t pt, Float_t y); | |
85 | ||
7816887f | 86 | //////////////////////////////////////////////////////////////////////////// |
4966b266 | 87 | |
88 | private: | |
89 | ||
90 | Int_t fPDG; // Particle type code | |
7e4131fc | 91 | Int_t fModel; // Transverse momentum model |
92 | ||
4966b266 | 93 | Float_t fN; // Multiplicity (subject to scalling) |
7e4131fc | 94 | Bool_t fMultTotal; // multiplicity mode: Total or dN/dY |
95 | Bool_t fIsSetMult; // force multiplicity mode or use from AliGenGeVSim | |
96 | ||
4966b266 | 97 | Float_t fT; // Slope Parameter (subject to scalling) |
98 | Float_t fSigmaY; // Rapidity Width | |
99 | Float_t fExpansion; // Expansion Velocity in c units (subject to scalling) | |
100 | ||
7e4131fc | 101 | Float_t fV1[4]; // Directed Flow coefficient parameters |
102 | Float_t fV2[3]; // Elliptic Flow coefficient parameters | |
4966b266 | 103 | |
7e4131fc | 104 | Bool_t fIsDirectedSimple; // indicate use constant value for directed (v1) |
105 | Bool_t fIsEllipticSimple; // indicate use constant value for elliptic (v2) | |
106 | Bool_t fIsEllipticOld; // linear / quadratical pT parametrisation | |
107 | ||
4966b266 | 108 | public: |
109 | ||
7e4131fc | 110 | ClassDef(AliGeVSimParticle, 3) |
4966b266 | 111 | |
7816887f | 112 | }; |
113 | ||
4966b266 | 114 | //////////////////////////////////////////////////////////////////////////////// |
7816887f | 115 | |
116 | #endif |