]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4ExtDecayer.h
Example macro corrected
[u/mrichter/AliRoot.git] / TGeant4 / TG4ExtDecayer.h
1 // $Id$
2 // Category: physics
3 //
4 // TG4ExtDecayer class implements the G4VExtDecayer abstract class
5 // with the AliDecayer.
6 // In case a particle has not defined any decay channel
7 // and has not pre-assigned decay products,
8 // the external decayer is called.
9
10 #ifndef TG4_DECAY_H
11 #define TG4_DECAY_H
12
13 #include <G4VExtDecayer.hh>
14 #include <globals.hh>
15
16 class AliDecayer;
17 class TG4ParticlesManager;
18
19 class G4Track;
20 class G4DecayProducts;
21
22 class TClonesArray;
23
24 class TG4ExtDecayer : public G4VExtDecayer
25 {
26   public:
27     TG4ExtDecayer(AliDecayer* externalDecayer);
28     virtual ~TG4ExtDecayer();
29
30     virtual G4DecayProducts* ImportDecayProducts(const G4Track& track);
31     
32     // set methods
33     void SetVerboseLevel(G4int verbose);
34     
35     // get methods
36     G4int GetVerboseLevel() const;
37
38   private:
39     TG4ParticlesManager* fParticlesManager;  //particles manager 
40     AliDecayer*          fExternalDecayer;   //the AliDecayer
41     TClonesArray*        fDecayProductsArray;//array of decay products
42     G4int                fVerboseLevel;      //verbose level         
43 };
44
45 // inline methods
46
47 inline void TG4ExtDecayer::SetVerboseLevel(G4int verbose)
48 { fVerboseLevel = verbose; }
49
50 inline G4int TG4ExtDecayer::GetVerboseLevel() const
51 { return fVerboseLevel; }
52
53 #endif //TG4_DECAY_H