4 // Author: I. Hrivnacova
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.
14 #ifndef TG4_EXT_DECAYER_H
15 #define TG4_EXT_DECAYER_H
17 #include <G4VExtDecayer.hh>
21 class TG4ParticlesManager;
24 class G4DecayProducts;
28 class TG4ExtDecayer : public G4VExtDecayer
31 TG4ExtDecayer(AliDecayer* externalDecayer);
33 //TG4ExtDecayer(const TG4ExtDecayer& right);
34 virtual ~TG4ExtDecayer();
36 virtual G4DecayProducts* ImportDecayProducts(const G4Track& track);
39 void SetVerboseLevel(G4int verbose);
42 G4int GetVerboseLevel() const;
45 TG4ExtDecayer(const TG4ExtDecayer& right);
48 TG4ExtDecayer& operator=(const TG4ExtDecayer& right);
51 TG4ParticlesManager* fParticlesManager; //particles manager
52 AliDecayer* fExternalDecayer; //the AliDecayer
53 TClonesArray* fDecayProductsArray;//array of decay products
54 G4int fVerboseLevel; //verbose level
59 inline void TG4ExtDecayer::SetVerboseLevel(G4int verbose)
60 { fVerboseLevel = verbose; }
62 inline G4int TG4ExtDecayer::GetVerboseLevel() const
63 { return fVerboseLevel; }
65 #endif //TG4_EXT_DECAYER_H