]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4ExtDecayer.h
New/updated macros.
[u/mrichter/AliRoot.git] / TGeant4 / TG4ExtDecayer.h
CommitLineData
41229b87 1// $Id$
2// Category: physics
3//
499b353a 4// Author: I. Hrivnacova
5//
6// Class TG4ExtDecayer
7// -------------------
41229b87 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
c3ce5af1 14#ifndef TG4_EXT_DECAYER_H
15#define TG4_EXT_DECAYER_H
41229b87 16
17#include <G4VExtDecayer.hh>
18#include <globals.hh>
19
20class AliDecayer;
21class TG4ParticlesManager;
22
23class G4Track;
24class G4DecayProducts;
25
26class TClonesArray;
27
28class TG4ExtDecayer : public G4VExtDecayer
29{
30 public:
31 TG4ExtDecayer(AliDecayer* externalDecayer);
c3ce5af1 32 // --> protected
33 //TG4ExtDecayer(const TG4ExtDecayer& right);
41229b87 34 virtual ~TG4ExtDecayer();
35
36 virtual G4DecayProducts* ImportDecayProducts(const G4Track& track);
37
38 // set methods
39 void SetVerboseLevel(G4int verbose);
40
41 // get methods
42 G4int GetVerboseLevel() const;
c3ce5af1 43
44 protected:
45 TG4ExtDecayer(const TG4ExtDecayer& right);
46
47 // operators
48 TG4ExtDecayer& operator=(const TG4ExtDecayer& right);
41229b87 49
50 private:
51 TG4ParticlesManager* fParticlesManager; //particles manager
52 AliDecayer* fExternalDecayer; //the AliDecayer
53 TClonesArray* fDecayProductsArray;//array of decay products
54 G4int fVerboseLevel; //verbose level
55};
56
57// inline methods
58
59inline void TG4ExtDecayer::SetVerboseLevel(G4int verbose)
60{ fVerboseLevel = verbose; }
61
62inline G4int TG4ExtDecayer::GetVerboseLevel() const
63{ return fVerboseLevel; }
64
c3ce5af1 65#endif //TG4_EXT_DECAYER_H