]>
Commit | Line | Data |
---|---|---|
7816887f | 1 | #ifndef ALIGEVSIMPARTICLE_H |
2 | #define ALIGEVSIMPARTICLE_H | |
3 | ||
ac3faee4 | 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 | ////////////////////////////////////////////////////////////////////////////// | |
4966b266 | 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 | // | |
ac3faee4 | 15 | ////////////////////////////////////////////////////////////////////////////// |
7e4131fc | 16 | // |
4966b266 | 17 | // For examples, parameters and testing macros refer to: |
18 | // http:/home.cern.ch/radomski | |
7e4131fc | 19 | // |
20 | // for more detailed description refer to ALICE NOTE | |
21 | // "GeVSim Monte-Carlo Event Generator" | |
22 | // S.Radosmki, P. Foka. | |
23 | // | |
4966b266 | 24 | // Author: |
25 | // Sylwester Radomski, | |
26 | // GSI, March 2002 | |
7e4131fc | 27 | // |
4966b266 | 28 | // S.Radomski@gsi.de |
29 | // | |
ac3faee4 | 30 | ////////////////////////////////////////////////////////////////////////////// |
7e4131fc | 31 | // |
32 | // Updated and revised: September 2002, S. Radomski, GSI | |
33 | // | |
34 | //////////////////////////////////////////////////////////////////////////////// | |
35 | ||
7816887f | 36 | |
4966b266 | 37 | #include "TObject.h" |
7816887f | 38 | |
39 | class AliGeVSimParticle : public TObject { | |
40 | ||
7816887f | 41 | public: |
4966b266 | 42 | |
7816887f | 43 | //////////////////////////////////////////////////////////////////////////// |
1c56e311 | 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, | |
7816887f | 48 | Float_t T, Float_t dY = 1., Float_t exp=0.); |
4966b266 | 49 | |
1c56e311 | 50 | ~AliGeVSimParticle() {} |
4966b266 | 51 | |
7816887f | 52 | //////////////////////////////////////////////////////////////////////////// |
4966b266 | 53 | |
54 | Int_t GetPdgCode() const {return fPDG;} | |
7e4131fc | 55 | Int_t GetModel() const {return fModel;} |
56 | ||
4966b266 | 57 | Float_t GetTemperature() const {return fT;} |
58 | Float_t GetSigmaY() const {return fSigmaY;} | |
59 | Float_t GetExpansionVelocity() const {return fExpansion;} | |
7e4131fc | 60 | |
61 | void SetModel(Int_t model); | |
62 | void SetTemperature(Float_t T) {fT = T;} | |
63 | void SetSigmaY(Float_t sigma) {fSigmaY = sigma;} | |
7816887f | 64 | void SetExpansionVelocity(Float_t vel) {fExpansion = vel;} |
4966b266 | 65 | |
7e4131fc | 66 | |
67 | // Multiplicity | |
68 | ||
69 | void SetMultiplicity(Float_t mult); | |
ac3faee4 | 70 | Float_t GetMultiplicity() const {return fN;} |
7e4131fc | 71 | |
72 | void SetMultTotal(Bool_t isTotal = kTRUE); | |
73 | ||
ac3faee4 | 74 | Bool_t IsMultTotal() const {return fMultTotal;} |
75 | Bool_t IsMultForced() const {return fIsSetMult;} | |
4966b266 | 76 | |
7e4131fc | 77 | // Flow |
4966b266 | 78 | |
7e4131fc | 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 | ||
ac3faee4 | 86 | Bool_t IsFlowSimple() const; |
7e4131fc | 87 | |
4966b266 | 88 | Float_t GetDirectedFlow(Float_t pt, Float_t y); |
89 | Float_t GetEllipticFlow(Float_t pt, Float_t y); | |
90 | ||
7816887f | 91 | //////////////////////////////////////////////////////////////////////////// |
4966b266 | 92 | |
93 | private: | |
94 | ||
95 | Int_t fPDG; // Particle type code | |
7e4131fc | 96 | Int_t fModel; // Transverse momentum model |
97 | ||
4966b266 | 98 | Float_t fN; // Multiplicity (subject to scalling) |
7e4131fc | 99 | Bool_t fMultTotal; // multiplicity mode: Total or dN/dY |
100 | Bool_t fIsSetMult; // force multiplicity mode or use from AliGenGeVSim | |
101 | ||
4966b266 | 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 | ||
7e4131fc | 106 | Float_t fV1[4]; // Directed Flow coefficient parameters |
107 | Float_t fV2[3]; // Elliptic Flow coefficient parameters | |
4966b266 | 108 | |
7e4131fc | 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 | ||
7e4131fc | 113 | ClassDef(AliGeVSimParticle, 3) |
4966b266 | 114 | |
7816887f | 115 | }; |
116 | ||
4966b266 | 117 | //////////////////////////////////////////////////////////////////////////////// |
7816887f | 118 | |
119 | #endif |