]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGeVSimParticle.h
New version of AliGeVSim code. New class for flow afterburner (S.Radomski)
[u/mrichter/AliRoot.git] / EVGEN / AliGeVSimParticle.h
1 #ifndef ALIGEVSIMPARTICLE_H
2 #define ALIGEVSIMPARTICLE_H
3
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 //
10 // For examples, parameters and testing macros refer to:
11 // http:/home.cern.ch/radomski
12 //
13 // Author:
14 // Sylwester Radomski,
15 // GSI, March 2002
16 // 
17 // S.Radomski@gsi.de
18 //
19 ////////////////////////////////////////////////////////////////////////////////
20
21 #include "TObject.h"
22
23 class AliGeVSimParticle : public TObject {
24
25  public:
26   
27   ////////////////////////////////////////////////////////////////////////////
28   
29   AliGeVSimParticle() {}
30   AliGeVSimParticle(Int_t pdg); 
31   AliGeVSimParticle(Int_t pdg, Int_t n, 
32                     Float_t T, Float_t dY = 1., Float_t exp=0.);
33   
34   ~AliGeVSimParticle() {}
35   
36   ////////////////////////////////////////////////////////////////////////////
37   
38   Int_t GetPdgCode() const {return fPDG;}
39   
40   Float_t GetMultiplicity() const {return fN;}
41   Float_t GetTemperature() const {return fT;}
42   Float_t GetSigmaY() const {return fSigmaY;}
43   Float_t GetExpansionVelocity() const {return fExpansion;}
44   
45   void SetMultiplicity(Float_t n) {fN = n;}
46   void SetExpansionVelocity(Float_t vel) {fExpansion = vel;}
47   
48   // Flow
49   
50   void SetDirectedFlow(Float_t v11, Float_t v12=0, Float_t v13=1, Float_t v14=0);
51   void SetEllipticFlow(Float_t v21, Float_t v22=0, Float_t v23=0);
52   
53   Float_t GetDirectedFlow(Float_t pt, Float_t y);
54   Float_t GetEllipticFlow(Float_t pt, Float_t y);
55   
56   Float_t GetDirectedFlow();
57   Float_t GetEllipticFlow();
58
59   
60   ////////////////////////////////////////////////////////////////////////////
61   
62  private:
63   
64   Int_t fPDG;            // Particle type code
65   
66   Float_t fN;            // Multiplicity (subject to scalling)
67   Float_t fT;            // Slope Parameter (subject to scalling)
68   Float_t fSigmaY;       // Rapidity Width
69   Float_t fExpansion;    // Expansion Velocity in c units (subject to scalling)
70   
71   Float_t fV1[4];        // Direct Flow coefficient parameters (subject to scalling)
72   Float_t fV2[3];        // Elliptical flow coefficient parameters (subject to scalling)
73   
74  public:
75   
76   ClassDef(AliGeVSimParticle, 1)
77     
78 };
79
80 ////////////////////////////////////////////////////////////////////////////////
81
82 #endif