]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenAfterBurnerFlow.h
Fixing bug #59470
[u/mrichter/AliRoot.git] / EVGEN / AliGenAfterBurnerFlow.h
1 #ifndef AliGenAfterBurnerFlow_h
2 #define AliGenAfterBurnerFlow_h
3
4 ////////////////////////////////////////////////////////////////////////////////////////////////////
5 // 
6 // AliGenAfterBurnerFlow is a After Burner event generator applying flow.
7 // The generator changes Phi coordinate of the particle momentum.
8 // Flow (directed and elliptic) can be defined on particle type level
9 //
10 // For examples, parameters and testing macros refer to:
11 // http:/home.cern.ch/radomski
12 //
13 // Author:
14 // Sylwester Radomski,
15 // GSI, April 2002
16 // 
17 // S.Radomski@gsi.de
18 //
19 ////////////////////////////////////////////////////////////////////////////////////////////////////
20
21
22 #include "AliGenerator.h"
23
24 class TObjArray;
25
26 class AliGenAfterBurnerFlow : public AliGenerator {
27
28  public:
29
30   AliGenAfterBurnerFlow();
31   AliGenAfterBurnerFlow(Float_t reactionPlane);
32
33   ~AliGenAfterBurnerFlow();
34
35   void SetDirectedSimple(Int_t pdg, Float_t v1);
36   void SetDirectedParam(Int_t pdg, Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0);
37
38   void SetEllipticSimple(Int_t pdg, Float_t v2);
39   void SetEllipticParamPion(Int_t pdg, Float_t v21, Float_t pTmax, Float_t v22=0.);
40   void SetEllipticParamOld(Int_t pdg, Float_t v21, Float_t v22, Float_t v23);
41
42   void Init();
43   void Generate(); 
44
45  private:
46
47   static const Int_t fgkN = 30; // Size of array fParams 
48
49   Float_t GetCoefficient(Int_t pdg, Int_t n, Float_t Pt, Float_t Y);
50   void SetFlowParameters(Int_t pdg, Int_t order, Int_t type, Float_t v1, Float_t v2, Float_t v3, Float_t v4);
51
52   Float_t fReactionPlane;      // Reaction plane angle (in rad)
53   Float_t fParams[fgkN][7];    // parameters (0: pdg, 1: order, 2: type,  3-6: actual parameters) 
54   Int_t   fCounter;            // counter
55
56
57   ClassDef(AliGenAfterBurnerFlow,3)
58
59 };
60
61 ////////////////////////////////////////////////////////////////////////////////////////////////////
62
63 #endif