4 // Class that ensures additional call to sensitive detector
5 // when track crosses geometrical boundary.
7 #ifndef TG4_STEPPING_ACTION_H
8 #define TG4_STEPPING_ACTION_H
10 #include <G4UserSteppingAction.hh>
17 class TG4SteppingAction : public G4UserSteppingAction
27 // TG4SteppingAction(const TG4SteppingAction& right);
28 virtual ~TG4SteppingAction();
31 virtual void SteppingAction(const G4Step* step) {;}
32 // the following method should not
33 // be overwritten in a derived class
34 virtual void UserSteppingAction(const G4Step* step);
37 void SetLoopVerboseLevel(G4int level);
38 void SetMaxNofSteps(G4int number);
41 G4int GetLoopVerboseLevel() const;
42 G4int GetMaxNofSteps() const;
45 TG4SteppingAction(const TG4SteppingAction& right);
48 TG4SteppingAction& operator=(const TG4SteppingAction& right);
51 void PrintTrackInfo(const G4Track* track) const;
54 G4int fMaxNofSteps; //max number of steps allowed
55 G4int fStandardVerboseLevel; //standard tracking verbose level
56 G4int fLoopVerboseLevel; //tracking verbose level //for looping particles
57 //for looping particles
58 G4int fLoopStepCounter; //loop steps counter
63 inline void TG4SteppingAction::SetLoopVerboseLevel(G4int level)
64 { fLoopVerboseLevel = level; }
66 inline void TG4SteppingAction::SetMaxNofSteps(G4int number)
67 { fMaxNofSteps = number; }
69 inline G4int TG4SteppingAction::GetMaxNofSteps() const
70 { return fMaxNofSteps; }
72 inline G4int TG4SteppingAction::GetLoopVerboseLevel() const
73 { return fLoopVerboseLevel; }
75 #endif //TG4_STEPPING_ACTION_H