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