]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliStackingAction.h
method CreateUserConfiguration() updated for a new AliSDConstruction class; comment...
[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
15 class G4Track;
16 class G4TrackStack;
17
18 class 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();
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
56 inline void AliStackingAction::SetVerboseLevel(G4int level)
57 { fVerboseLevel = level; }
58
59 inline G4int AliStackingAction::GetVerboseLevel() const
60 { return fVerboseLevel; }
61
62 #endif //ALI_STACKING_ACTION_H
63