Names changed in order to avoid clash with FLUKA
[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//
7e4131fc 10////////////////////////////////////////////////////////////////////////////////
11//
4966b266 12// For examples, parameters and testing macros refer to:
13// http:/home.cern.ch/radomski
7e4131fc 14//
15// for more detailed description refer to ALICE NOTE
16// "GeVSim Monte-Carlo Event Generator"
17// S.Radosmki, P. Foka.
18//
4966b266 19// Author:
20// Sylwester Radomski,
21// GSI, March 2002
7e4131fc 22//
4966b266 23// S.Radomski@gsi.de
24//
25////////////////////////////////////////////////////////////////////////////////
7e4131fc 26//
27// Updated and revised: September 2002, S. Radomski, GSI
28//
29////////////////////////////////////////////////////////////////////////////////
30
7816887f 31
4966b266 32#include "TObject.h"
7816887f 33
34class AliGeVSimParticle : public TObject {
35
7816887f 36 public:
4966b266 37
7816887f 38 ////////////////////////////////////////////////////////////////////////////
4966b266 39
7816887f 40 AliGeVSimParticle() {}
7e4131fc 41 AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity);
42 AliGeVSimParticle(Int_t pdg, Int_t model, Float_t multiplicity,
7816887f 43 Float_t T, Float_t dY = 1., Float_t exp=0.);
4966b266 44
7816887f 45 ~AliGeVSimParticle() {}
4966b266 46
7816887f 47 ////////////////////////////////////////////////////////////////////////////
4966b266 48
49 Int_t GetPdgCode() const {return fPDG;}
7e4131fc 50 Int_t GetModel() const {return fModel;}
51
4966b266 52 Float_t GetTemperature() const {return fT;}
53 Float_t GetSigmaY() const {return fSigmaY;}
54 Float_t GetExpansionVelocity() const {return fExpansion;}
7e4131fc 55
56 void SetModel(Int_t model);
57 void SetTemperature(Float_t T) {fT = T;}
58 void SetSigmaY(Float_t sigma) {fSigmaY = sigma;}
7816887f 59 void SetExpansionVelocity(Float_t vel) {fExpansion = vel;}
4966b266 60
7e4131fc 61
62 // Multiplicity
63
64 void SetMultiplicity(Float_t mult);
65 Float_t GetMultiplicity() {return fN;}
66
67 void SetMultTotal(Bool_t isTotal = kTRUE);
68
69 Bool_t IsMultTotal() {return fMultTotal;}
70 Bool_t IsMultForced() {return fIsSetMult;}
4966b266 71
7e4131fc 72 // Flow
4966b266 73
7e4131fc 74 void SetDirectedSimple(Float_t v1);
75 void SetEllipticSimple(Float_t v2);
76
77 void SetDirectedParam(Float_t v11, Float_t v12=0, Float_t v13=1, Float_t v14=0);
78 void SetEllipticParam(Float_t v21, Float_t pTmax, Float_t v22=0.);
79 void SetEllipticOld(Float_t v21, Float_t v22, Float_t v23);
80
81 Bool_t IsFlowSimple();
82
4966b266 83 Float_t GetDirectedFlow(Float_t pt, Float_t y);
84 Float_t GetEllipticFlow(Float_t pt, Float_t y);
85
7816887f 86 ////////////////////////////////////////////////////////////////////////////
4966b266 87
88 private:
89
90 Int_t fPDG; // Particle type code
7e4131fc 91 Int_t fModel; // Transverse momentum model
92
4966b266 93 Float_t fN; // Multiplicity (subject to scalling)
7e4131fc 94 Bool_t fMultTotal; // multiplicity mode: Total or dN/dY
95 Bool_t fIsSetMult; // force multiplicity mode or use from AliGenGeVSim
96
4966b266 97 Float_t fT; // Slope Parameter (subject to scalling)
98 Float_t fSigmaY; // Rapidity Width
99 Float_t fExpansion; // Expansion Velocity in c units (subject to scalling)
100
7e4131fc 101 Float_t fV1[4]; // Directed Flow coefficient parameters
102 Float_t fV2[3]; // Elliptic Flow coefficient parameters
4966b266 103
7e4131fc 104 Bool_t fIsDirectedSimple; // indicate use constant value for directed (v1)
105 Bool_t fIsEllipticSimple; // indicate use constant value for elliptic (v2)
106 Bool_t fIsEllipticOld; // linear / quadratical pT parametrisation
107
4966b266 108 public:
109
7e4131fc 110 ClassDef(AliGeVSimParticle, 3)
4966b266 111
7816887f 112};
113
4966b266 114////////////////////////////////////////////////////////////////////////////////
7816887f 115
116#endif