]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4ExtDecayer.h
New&delete used for array with variable size
[u/mrichter/AliRoot.git] / TGeant4 / TG4ExtDecayer.h
CommitLineData
41229b87 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
16class AliDecayer;
17class TG4ParticlesManager;
18
19class G4Track;
20class G4DecayProducts;
21
22class TClonesArray;
23
24class 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
47inline void TG4ExtDecayer::SetVerboseLevel(G4int verbose)
48{ fVerboseLevel = verbose; }
49
50inline G4int TG4ExtDecayer::GetVerboseLevel() const
51{ return fVerboseLevel; }
52
53#endif //TG4_DECAY_H