1 #ifndef ALIGEVSIMPARTICLE_H
2 #define ALIGEVSIMPARTICLE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 //////////////////////////////////////////////////////////////////////////////
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.
15 //////////////////////////////////////////////////////////////////////////////
17 // For examples, parameters and testing macros refer to:
18 // http:/home.cern.ch/radomski
20 // for more detailed description refer to ALICE NOTE
21 // "GeVSim Monte-Carlo Event Generator"
22 // S.Radosmki, P. Foka.
25 // Sylwester Radomski,
30 //////////////////////////////////////////////////////////////////////////////
32 // Updated and revised: September 2002, S. Radomski, GSI
34 ////////////////////////////////////////////////////////////////////////////////
39 class AliGeVSimParticle : public TObject {
43 ////////////////////////////////////////////////////////////////////////////
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.);
50 ~AliGeVSimParticle() {}
52 ////////////////////////////////////////////////////////////////////////////
54 Int_t GetPdgCode() const {return fPDG;}
55 Int_t GetModel() const {return fModel;}
57 Float_t GetTemperature() const {return fT;}
58 Float_t GetSigmaY() const {return fSigmaY;}
59 Float_t GetExpansionVelocity() const {return fExpansion;}
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;}
69 void SetMultiplicity(Float_t mult);
70 Float_t GetMultiplicity() const {return fN;}
72 void SetMultTotal(Bool_t isTotal = kTRUE);
74 Bool_t IsMultTotal() const {return fMultTotal;}
75 Bool_t IsMultForced() const {return fIsSetMult;}
79 void SetDirectedSimple(Float_t v1);
80 void SetEllipticSimple(Float_t v2);
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);
86 Bool_t IsFlowSimple() const;
88 Float_t GetDirectedFlow(Float_t pt, Float_t y);
89 Float_t GetEllipticFlow(Float_t pt, Float_t y);
91 ////////////////////////////////////////////////////////////////////////////
95 Int_t fPDG; // Particle type code
96 Int_t fModel; // Transverse momentum model
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
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)
106 Float_t fV1[4]; // Directed Flow coefficient parameters
107 Float_t fV2[3]; // Elliptic Flow coefficient parameters
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
113 ClassDef(AliGeVSimParticle, 3)
117 ////////////////////////////////////////////////////////////////////////////////