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