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