4 ////////////////////////////////////////////////////////////////////////////////
6 // AliGenGeVSim is a class implementing simple Monte-Carlo event generator for
7 // testing algorythms and detector performance.
9 // In this event generator particles are generated from thermal distributions
10 // without any dynamics and addicional constrains. Distribution parameters like
11 // multiplicity, particle type yields, inverse slope parameters, flow coeficients
12 // and expansion velocities are expleicite defined by the user.
14 // GeVSim contains four thermal distributions the same as
15 // MevSim event generator developed for STAR experiment.
17 // In addition custom distributions can be used be the mean of TF2 function
20 // Azimuthal distribution is deconvoluted from (Pt,Y) distribution
21 // and is described by two Fourier coefficients representing
22 // Directed and Elliptical flow.
24 // To apply flow to event ganerated by an arbitraly event generator
25 // refer to AliGenAfterBurnerFlow class.
26 // For examples, parameters and testing macros refer to:
27 // http:/home.cern.ch/radomski
30 // Sylwester Radomski,
35 ////////////////////////////////////////////////////////////////////////////////
41 class AliGeVSimParticle;
44 class AliGenGeVSim : public AliGenerator {
49 AliGenGeVSim(Int_t model, Float_t psi);
51 virtual ~AliGenGeVSim();
53 /////////////////////////////////////////////////////////////////
55 void AddParticleType(AliGeVSimParticle *part);
60 /////////////////////////////////////////////////////////////////
64 Int_t fModel; // Selected model (1-5)
65 Float_t fPsi; // Reaction Plane angle (0-2pi)
67 TF1 *fPtFormula; // Pt formula for model (1)
68 TF1 *fYFormula; // Y formula for model (1)
69 TF2 *fPtYFormula[4]; // Pt,Y formulae for model (2)-(4) and custom
70 TF1 *fPhiFormula; // phi formula
72 TObjArray *fPartTypes; // Registered particles
75 void DetermineReactionPlane();
77 TFormula* DetermineModel();
79 //void PlotDistributions();
81 Bool_t CheckPtYPhi(Float_t pt, Float_t y, Float_t phi);
82 Bool_t CheckP(Float_t p[3]);
84 Float_t FindScaler(Int_t paramId, Int_t pdg);
86 /////////////////////////////////////////////////////////////////
90 ClassDef(AliGenGeVSim, 1)