da0e9ce3 |
1 | #ifndef ALIGENEVTGEN_H |
2 | #define ALIGENEVTGEN_H |
3 | |
4 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ |
6 | /////////////////////////////////////////////////////////////////////////// |
7 | // // |
8 | // AliGenEvtGen class to performs decays of particles generated by a // |
9 | // previous generator. It inherits from AliGenerator. // |
10 | // // |
11 | // Origin: Giuseppe.Bruno@ba.infn.it & Fiorella.Fionda@ba.infn.it // |
12 | /////////////////////////////////////////////////////////////////////////// |
13 | |
14 | #include "AliGenerator.h" |
15 | #include "AliDecayerEvtGen.h" |
16 | |
17 | class TParticle; |
18 | |
19 | class AliGenEvtGen : public AliGenerator { |
20 | |
21 | public: |
22 | |
23 | typedef enum {kAllPart, kBeautyPart, kCharmPart} DecayOff_t; |
24 | |
25 | AliGenEvtGen(); |
26 | |
27 | ~AliGenEvtGen(); |
28 | |
29 | virtual void Init(); |
30 | virtual void Generate(); |
31 | AliDecayer* GetDecayer() {return fDecayer;} |
32 | void SetForceDecay(Decay_t decay = kAll) {fForceDecay = decay;} //set a decay mode |
33 | Bool_t SetUserDecayTable(Char_t *path); |
34 | void SetParticleSwitchedOff(DecayOff_t decay) {fSwitchOff = decay;} //set particles to be decayed by EvtGen |
35 | |
36 | protected: |
37 | Int_t GetFlavour(Int_t pdgCode); |
38 | |
39 | |
40 | private: |
41 | AliStack *fStack; //!pointer to AliStack |
42 | AliDecayerEvtGen *fDecayer; //!pointer to AliDecayerEvtGen |
43 | Decay_t fForceDecay; //!decay case |
44 | DecayOff_t fSwitchOff; //!particle decay |
45 | Bool_t fUserDecay; //!TRUE if a user decay table is set |
46 | Char_t *fUserDecayTablePath; //!pointer to path of user decay table |
47 | |
48 | AliGenEvtGen(const AliGenEvtGen &EvtGen); |
49 | AliGenEvtGen & operator=(const AliGenEvtGen & rhs); |
50 | |
51 | |
52 | |
53 | ClassDef(AliGenEvtGen,0) //AliGenerator interface to EvtGen |
54 | }; |
55 | |
56 | //////////////////////////////////////////////////////////////////////////////////////////////// |
57 | |
58 | #endif |