LCOV - code coverage report
Current view: top level - EVGEN - AliGenAfterBurnerFlow.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 1 11 9.1 %

          Line data    Source code
       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             : ////////////////////////////////////////////////////////////////////////////////////////////////////
      11             : 
      12             : 
      13             : #include "AliGenerator.h"
      14             : #include "AliStack.h"
      15             : 
      16             : class TObjArray;
      17             : 
      18             : class AliGenAfterBurnerFlow : public AliGenerator {
      19             : 
      20             :  public:
      21             : 
      22             :   AliGenAfterBurnerFlow();
      23             :   AliGenAfterBurnerFlow(Float_t reactionPlane);
      24             :   ~AliGenAfterBurnerFlow();
      25             : 
      26           0 :   void      AarbitraryReactionPlaneAngle() {fHow = 3;}
      27             :   void      SetDirectedSimple(Int_t pdg, Float_t v1);
      28             :   void      SetDirectedParam(Int_t pdg, Float_t v11, Float_t v12 = 0, Float_t v13 = 1, Float_t v14 = 0);
      29             :   void      SetEllipticSimple(Int_t pdg, Float_t v2);
      30             :   void      SetEllipticParamPion(Int_t pdg, Float_t v21, Float_t pTmax, Float_t v22=0.);
      31             :   void      SetEllipticParamOld(Int_t pdg, Float_t v21, Float_t v22, Float_t v23);
      32             :   void      SetEllipticParam(Int_t pdg, Float_t v00, Float_t v10, Float_t v11, Float_t v22);
      33             :   void      SetNpParams(Int_t order=-1, Float_t p0=-1, Float_t p1=-1, Float_t p2=-1, Float_t p3=-1);
      34           0 :   void      SetNpDefault() { SetNpParams(2,1,-5e-8,-5e-6); } 
      35             :   Bool_t    IsPrimary(Int_t pdg) const;
      36             :   void      Init();
      37             :   void      Generate(); 
      38           0 :   void      NeglectFlow(Int_t pdg) {fIsPrim[pdg]=kFALSE;}
      39             : 
      40             :  private:
      41             :   AliGenAfterBurnerFlow(const AliGenAfterBurnerFlow&);
      42             :   AliGenAfterBurnerFlow& operator=(const AliGenAfterBurnerFlow&);
      43             : 
      44             :   static const Int_t fgkN = 300;   // Size of array fParams 
      45             :   static const Int_t fgkPDG= 5226; // Size of PDG code array 
      46             : 
      47             :   Bool_t    fIsPrim[fgkPDG];   // array of primaries
      48             :   Float_t   fReactionPlane;    // Reaction plane angle (in rad)
      49             :   Int_t     fHow;              // Choose reaction plane angle
      50             :   Float_t   fParams[fgkN][7];  // parameters (0: pdg, 1: order, 2: type,  3-6: actual parameters) 
      51             :   Float_t   fNpParams[5];      // parameters (0: order, 1-4: actual parameters) 
      52             :   Int_t     fCounter;          // counter
      53             :   AliStack *fStack;            //!
      54             : 
      55             :   Float_t   GetCoefficient(Int_t pdg, Int_t n, Float_t Pt, Float_t Y) const;
      56             :   Float_t   GetNpNorm(Int_t npart) const;
      57             :   void      InitPrimaries();
      58             :   void      Rotate(Int_t i, Double_t phi, Bool_t IsPrim=kTRUE);
      59             :   void      SetFlowParameters(Int_t pdg, Int_t order, Int_t type, Float_t v1, Float_t v2, Float_t v3, Float_t v4);
      60             : 
      61           6 :   ClassDef(AliGenAfterBurnerFlow,4)
      62             : };
      63             : #endif

Generated by: LCOV version 1.11