Reading muon trigger scalers with the DA of the muon trigger and transfer
[u/mrichter/AliRoot.git] / EPOS / AliGenEpos.h
1 //
2 // AliGenEpos.cpp
3 //
4 //  ALICE event generator based on EPOS model from Klaus Werner
5 //
6 //  Created on: Feb 28, 2009
7 //      Author: Piotr Ostrowski, postrow@if.pw.edu.pl
8 //
9
10 #ifndef ALI_GEN_EPOS_H
11 #define ALI_GEN_EPOS_H
12
13 #include "AliGenMC.h"
14 #include "TEpos.h"
15
16
17 class AliGenEpos: public AliGenMC {
18 public:
19         AliGenEpos();
20         AliGenEpos(Int_t npart);
21         virtual void Init();
22         virtual void Generate();
23
24         virtual ~AliGenEpos();
25
26         void SetImpactParameterRange(Float_t bmin, Float_t bmax) { fBmin = bmin; fBmax = bmax; }
27         void SetReactionPlaneAngleRange(Float_t phimin, Float_t phimax) { fPhiMin = phimin; fPhiMax = phimax; }
28         void AddNoDecay(Int_t nodecay) { GetTEpos()->AddNoDecay(nodecay); }
29         void AddExtraInputLine(const char *line) { GetTEpos()->AddExtraInputLine(line); }
30         Float_t GetPhiMin() const { return fPhiMin; }
31         Float_t GetPhiMax() const { return fPhiMax; }
32         Float_t GetBmin() const { return fBmin; }
33         Float_t GetBMax() const { return fBmax; }
34
35         void FilterModelOutput(Bool_t value) {fFilterModelOutput = value;}
36         Bool_t IsModelOutputFiltered() const { return fFilterModelOutput; }
37 protected:
38         virtual TEpos* GetTEpos() { return (TEpos *)fMCEvGen; }
39
40         Float_t fBmin; //minimum impact parameter
41         Float_t fBmax; //maximum impact parameter
42
43         Float_t fPhiMin; // reaction plane angle minimum
44         Float_t fPhiMax; // reaction plane angle maximum
45
46         Bool_t fFilterModelOutput; //if true it will filter out internal model entities from the stack
47 private:
48
49         ClassDef(AliGenEpos,1)
50 };
51
52 #endif /* ALI_GEN_EPOS_H */