4 // Class that defines Alice stacking mechanism.
6 #ifndef ALI_STACKING_ACTION_H
7 #define ALI_STACKING_ACTION_H
9 #include <G4UserStackingAction.hh>
12 class AliStackingActionMessenger;
13 class AliTrackingAction;
16 class AliStackingAction : public G4UserStackingAction
21 // AliStackingAction(const AliStackingAction& right);
22 virtual ~AliStackingAction();
25 G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* track);
27 void ClearPrimaryStack();
28 void PrepareNewEvent();
31 void SetVerboseLevel(G4int level);
34 G4int GetVerboseLevel() const;
37 AliStackingAction(const AliStackingAction& right);
40 AliStackingAction& operator=(const AliStackingAction& right);
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
55 inline void AliStackingAction::SetVerboseLevel(G4int level)
56 { fVerboseLevel = level; }
58 inline G4int AliStackingAction::GetVerboseLevel() const
59 { return fVerboseLevel; }
61 #endif //ALI_STACKING_ACTION_H