New version of AliGeVSim code. New class for flow afterburner (S.Radomski)
[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 elliptical) 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 SetDirected(Int_t pdg, Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0);
36   void SetElliptic(Int_t pdg, Float_t v21, Float_t v22 = 0, Float_t v23 = 0);
37
38   void SetDefDirected(Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0);
39   void SetDefElliptic(Float_t v21, Float_t v22 = 0, Float_t v23 = 0);
40
41   void Init();
42   void Generate(); 
43
44  private:
45
46   static const Int_t kN = 30;
47
48   Float_t GetCoeff(Int_t pdg, Int_t n, Float_t Pt, Float_t Y);
49   void SetFlowParameters(Int_t pdg, Int_t order, Float_t v1, Float_t v2, Float_t v3, Float_t v4);
50
51   Float_t fReactionPlane;      // Reaction plane angle (in rad)
52   Float_t fParams[kN][6];      // parameters (0: pdg, 1: order, 2-5: actual parameters) 
53   Int_t   fCounter;            // counter
54
55  public:
56
57   ClassDef(AliGenAfterBurnerFlow,1)
58
59 };
60
61 ////////////////////////////////////////////////////////////////////////////////////////////////////
62
63 #endif