Line data Source code
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 0 : 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 0 : ~AliGeVSimParticle() {}
51 :
52 : ////////////////////////////////////////////////////////////////////////////
53 :
54 0 : Int_t GetPdgCode() const {return fPDG;}
55 0 : Int_t GetModel() const {return fModel;}
56 :
57 0 : Float_t GetTemperature() const {return fT;}
58 0 : Float_t GetSigmaY() const {return fSigmaY;}
59 0 : Float_t GetExpansionVelocity() const {return fExpansion;}
60 :
61 : void SetModel(Int_t model);
62 0 : void SetTemperature(Float_t T) {fT = T;}
63 0 : void SetSigmaY(Float_t sigma) {fSigmaY = sigma;}
64 0 : void SetExpansionVelocity(Float_t vel) {fExpansion = vel;}
65 :
66 :
67 : // Multiplicity
68 :
69 : void SetMultiplicity(Float_t mult);
70 0 : Float_t GetMultiplicity() const {return fN;}
71 :
72 : void SetMultTotal(Bool_t isTotal = kTRUE);
73 :
74 0 : Bool_t IsMultTotal() const {return fMultTotal;}
75 0 : 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 6 : ClassDef(AliGeVSimParticle, 3)
114 :
115 : };
116 :
117 : ////////////////////////////////////////////////////////////////////////////////
118 :
119 : #endif
|