New version of AliGeVSim code. New class for flow afterburner (S.Radomski)
[u/mrichter/AliRoot.git] / EVGEN / AliGeVSimParticle.h
CommitLineData
7816887f 1#ifndef ALIGEVSIMPARTICLE_H
2#define ALIGEVSIMPARTICLE_H
3
4966b266 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////////////////////////////////////////////////////////////////////////////////
7816887f 20
4966b266 21#include "TObject.h"
7816887f 22
23class AliGeVSimParticle : public TObject {
24
7816887f 25 public:
4966b266 26
7816887f 27 ////////////////////////////////////////////////////////////////////////////
4966b266 28
7816887f 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.);
4966b266 33
7816887f 34 ~AliGeVSimParticle() {}
4966b266 35
7816887f 36 ////////////////////////////////////////////////////////////////////////////
4966b266 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;}
7816887f 44
45 void SetMultiplicity(Float_t n) {fN = n;}
46 void SetExpansionVelocity(Float_t vel) {fExpansion = vel;}
4966b266 47
7816887f 48 // Flow
4966b266 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();
7816887f 58
4966b266 59
7816887f 60 ////////////////////////////////////////////////////////////////////////////
4966b266 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
7816887f 76 ClassDef(AliGeVSimParticle, 1)
4966b266 77
7816887f 78};
79
4966b266 80////////////////////////////////////////////////////////////////////////////////
7816887f 81
82#endif