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.
10 #ifndef TG4_EXT_DECAYER_H
11 #define TG4_EXT_DECAYER_H
13 #include <G4VExtDecayer.hh>
17 class TG4ParticlesManager;
20 class G4DecayProducts;
24 class TG4ExtDecayer : public G4VExtDecayer
27 TG4ExtDecayer(AliDecayer* externalDecayer);
29 //TG4ExtDecayer(const TG4ExtDecayer& right);
30 virtual ~TG4ExtDecayer();
32 virtual G4DecayProducts* ImportDecayProducts(const G4Track& track);
35 void SetVerboseLevel(G4int verbose);
38 G4int GetVerboseLevel() const;
41 TG4ExtDecayer(const TG4ExtDecayer& right);
44 TG4ExtDecayer& operator=(const TG4ExtDecayer& right);
47 TG4ParticlesManager* fParticlesManager; //particles manager
48 AliDecayer* fExternalDecayer; //the AliDecayer
49 TClonesArray* fDecayProductsArray;//array of decay products
50 G4int fVerboseLevel; //verbose level
55 inline void TG4ExtDecayer::SetVerboseLevel(G4int verbose)
56 { fVerboseLevel = verbose; }
58 inline G4int TG4ExtDecayer::GetVerboseLevel() const
59 { return fVerboseLevel; }
61 #endif //TG4_EXT_DECAYER_H