]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliStackingAction.h
updated the default version of START to 1
[u/mrichter/AliRoot.git] / AliGeant4 / AliStackingAction.h
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>
10 #include <globals.hh>
11
12 class AliStackingActionMessenger;
13 class AliTrackingAction;
14 class G4Track;
15
16 class AliStackingAction : public G4UserStackingAction
17 {
18   public:
19     AliStackingAction();
20     // --> protected
21     // AliStackingAction(const AliStackingAction& right);
22     virtual ~AliStackingAction();
23
24     // methods
25     G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
26     void NewStage();
27     void ClearPrimaryStack();
28     void PrepareNewEvent();
29
30     // set methods
31     void SetVerboseLevel(G4int level);
32
33     // get methods
34     G4int GetVerboseLevel() const;
35
36   protected:
37     AliStackingAction(const AliStackingAction& right);
38
39     // operators
40     AliStackingAction& operator=(const AliStackingAction& right);
41
42   private:
43     // data members
44     G4int                        fStage;          //stage number
45     G4int                        fVerboseLevel;   //verbose level
46     G4bool                       fSavePrimaries;  //control of saving primaries
47     G4TrackStack*                fPrimaryStack;   //stack of primary tracks
48     AliTrackingAction*           fTrackingAction; //AliTrackingAction
49     AliStackingActionMessenger*  fMessenger;      //messenger
50 };
51
52
53 // inline methods
54
55 inline void AliStackingAction::SetVerboseLevel(G4int level)
56 { fVerboseLevel = level; }
57
58 inline G4int AliStackingAction::GetVerboseLevel() const
59 { return fVerboseLevel; }
60
61 #endif //ALI_STACKING_ACTION_H
62