1 ////////////////////////////////////////////////////////////////////////////////////////////////////
3 // AliGeVSimParticle is a helper class for GeVSim (AliGenGeVSim) event generator.
4 // An object of this class represents one particle type and contain
5 // information about particle type thermal parameters.
7 // For examples, parameters and testing macros refer to:
8 // http:/home.cern.ch/radomski
11 // Sylwester Radomski,
16 ////////////////////////////////////////////////////////////////////////////////////////////////////
19 #include "AliGeVSimParticle.h"
21 ClassImp(AliGeVSimParticle);
23 ////////////////////////////////////////////////////////////////////////////////////////////////////
25 AliGeVSimParticle::AliGeVSimParticle(Int_t pdg, Int_t n, Float_t T, Float_t dY, Float_t exp) {
27 // pdg - Particle type code in PDG standard (see: http://pdg.lbl.gov)
28 // n - Multiplicity of particle type
29 // T - Inverse slope parameter ("temperature")
30 // dY - Raridity Width (only for model 1)
31 // exp - expansion velocity (only for model 4)
39 fV1[0] = fV1[1] = fV1[2] = fV1[3] = 0.;
40 fV2[0] = fV2[1] = fV2[2] = 0.;
43 ////////////////////////////////////////////////////////////////////////////////////////////////////
45 AliGeVSimParticle::AliGeVSimParticle(Int_t pdg) {
47 // pdg - Particle type code in PDG standard (see: http://pdg.lbl.gov)
56 fV1[0] = fV1[1] = fV1[2] = fV1[3] = 0.;
57 fV2[0] = fV2[1] = fV2[2] = 0.;
60 ////////////////////////////////////////////////////////////////////////////////////////////////////
62 void AliGeVSimParticle::SetDirectedFlow(Float_t v11, Float_t v12, Float_t v13, Float_t v14) {
64 // Set Directed Flow parameters.
65 // Acctual flow coefficient is calculated as follows
67 // V1(Pt,Y) = (V11 + V12*Pt) * sign(Y) * (V13 + V14 * Y^3)
69 // where sign = 1 for Y > 0 and -1 for Y < 0
75 // Note 1: In many cases it is sufficient to set v11 only.
76 // Note 2: Be carefull with parameter v14
86 ////////////////////////////////////////////////////////////////////////////////////////////////////
88 void AliGeVSimParticle::SetEllipticFlow(Float_t v21, Float_t v22, Float_t v23) {
90 // Set Elliptic Flow parameters.
91 // Acctual flow coefficient is calculated as follows
93 // V2 = (V21 + V22 * Pt^2) * exp( -V23 * Y^2)
98 // Note: In many cases it is sufficient to set v21 only
106 ////////////////////////////////////////////////////////////////////////////////////////////////////
108 Float_t AliGeVSimParticle::GetDirectedFlow(Float_t pt, Float_t y) {
110 // Return coefficient of a directed flow for a given pt and y.
111 // For coefficient calculation method refer to SetDirectedFlow()
116 v = (fV1[0] + fV1[1]* pt) * TMath::Sign((Float_t)1.,y) *
117 (fV1[2] + fV1[3] * TMath::Abs(y*y*y) );
122 ////////////////////////////////////////////////////////////////////////////////////////////////////
124 Float_t AliGeVSimParticle::GetEllipticFlow(Float_t pt, Float_t y) {
126 // Return coefficient of a elliptic flow for a given pt and y.
127 // For coefficient calculation method refer to SetEllipticFlow()
130 return (fV2[0] + fV2[2] * pt * pt) * TMath::Exp( -fV2[3] * y*y );
133 ////////////////////////////////////////////////////////////////////////////////////////////////////
135 Float_t AliGeVSimParticle::GetDirectedFlow() {
137 // Simplified version of GetDirectedFlow(pt,y) for backward compatibility
144 ////////////////////////////////////////////////////////////////////////////////////////////////////
145 Float_t AliGeVSimParticle::GetEllipticFlow() {
147 // Simplified version of GetEllipticFlow(pt,y) for backward compatibility
154 ////////////////////////////////////////////////////////////////////////////////////////////////////