]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliStackingAction.h
Initial version
[u/mrichter/AliRoot.git] / AliGeant4 / AliStackingAction.h
CommitLineData
676fb573 1// $Id$
2// Category: event
3//
4// Class that defines Alice stacking mechanism.
5
6#ifndef ALI_STACKING_ACTION_H
7#define ALI_STACKING_ACTION_H
8
9#include <G4UserStackingAction.hh>
676fb573 10#include <globals.hh>
11
12class AliStackingActionMessenger;
13class AliTrackingAction;
74236197 14
676fb573 15class G4Track;
74236197 16class G4TrackStack;
676fb573 17
18class AliStackingAction : public G4UserStackingAction
19{
20 public:
21 AliStackingAction();
22 // --> protected
23 // AliStackingAction(const AliStackingAction& right);
24 virtual ~AliStackingAction();
25
26 // methods
27 G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
28 void NewStage();
676fb573 29 void PrepareNewEvent();
30
31 // set methods
32 void SetVerboseLevel(G4int level);
33
34 // get methods
35 G4int GetVerboseLevel() const;
36
37 protected:
38 AliStackingAction(const AliStackingAction& right);
39
40 // operators
41 AliStackingAction& operator=(const AliStackingAction& right);
42
43 private:
44 // data members
45 G4int fStage; //stage number
46 G4int fVerboseLevel; //verbose level
47 G4bool fSavePrimaries; //control of saving primaries
48 G4TrackStack* fPrimaryStack; //stack of primary tracks
49 AliTrackingAction* fTrackingAction; //AliTrackingAction
50 AliStackingActionMessenger* fMessenger; //messenger
51};
52
53
54// inline methods
55
56inline void AliStackingAction::SetVerboseLevel(G4int level)
57{ fVerboseLevel = level; }
58
59inline G4int AliStackingAction::GetVerboseLevel() const
60{ return fVerboseLevel; }
61
62#endif //ALI_STACKING_ACTION_H
63