4 // Class that defines Alice stacking mechanism.
6 #ifndef ALI_STACKING_ACTION_H
7 #define ALI_STACKING_ACTION_H
9 #include <G4UserStackingAction.hh>
10 #include <G4TrackStack.hh>
14 class AliStackingActionMessenger;
15 class AliTrackingAction;
18 class AliStackingAction : public G4UserStackingAction
23 // AliStackingAction(const AliStackingAction& right);
24 virtual ~AliStackingAction();
27 G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
29 void ClearPrimaryStack();
30 void PrepareNewEvent();
33 void SetVerboseLevel(G4int level);
36 G4int GetVerboseLevel() const;
39 AliStackingAction(const AliStackingAction& right);
42 AliStackingAction& operator=(const AliStackingAction& right);
46 G4int fStage; //stage number
47 G4int fVerboseLevel; //verbose level
48 G4bool fSavePrimaries; //control of saving primaries
49 G4TrackStack* fPrimaryStack; //stack of primary tracks
50 AliTrackingAction* fTrackingAction; //AliTrackingAction
51 AliStackingActionMessenger* fMessenger; //messenger
57 inline void AliStackingAction::SetVerboseLevel(G4int level)
58 { fVerboseLevel = level; }
60 inline G4int AliStackingAction::GetVerboseLevel() const
61 { return fVerboseLevel; }
63 #endif //ALI_STACKING_ACTION_H