check for max number of steps moved from AliSteppingAction here
[u/mrichter/AliRoot.git] / TGeant4 / TG4SteppingAction.h
CommitLineData
6fc5df41 1// $Id$
2// Category: event
3//
4// Class that ensures additional call to sensitive detector
5// when track crosses geometrical boundary.
6
7#ifndef TG4_STEPPING_ACTION_H
8#define TG4_STEPPING_ACTION_H
9
10#include <G4UserSteppingAction.hh>
6fc5df41 11
4148f156 12#include <globals.hh>
13
14class G4Track;
6fc5df41 15class G4Step;
16
17class TG4SteppingAction : public G4UserSteppingAction
18{
4148f156 19 enum {
20 kMaxNofSteps = 10000,
21 kMaxNofLoopSteps = 5
22 };
23
6fc5df41 24 public:
25 TG4SteppingAction();
26 // --> protected
27 // TG4SteppingAction(const TG4SteppingAction& right);
28 virtual ~TG4SteppingAction();
29
30 // methods
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);
35
4148f156 36 // set methods
37 void SetLoopVerboseLevel(G4int level);
38 void SetMaxNofSteps(G4int number);
39
40 // get methods
41 G4int GetLoopVerboseLevel() const;
42 G4int GetMaxNofSteps() const;
6fc5df41 43
44 protected:
45 TG4SteppingAction(const TG4SteppingAction& right);
46
47 // operators
48 TG4SteppingAction& operator=(const TG4SteppingAction& right);
4148f156 49
50 // methods
51 void PrintTrackInfo(const G4Track* track) const;
52
53 // data members
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
6fc5df41 59};
60
4148f156 61// inline methods
62
63inline void TG4SteppingAction::SetLoopVerboseLevel(G4int level)
64{ fLoopVerboseLevel = level; }
65
66inline void TG4SteppingAction::SetMaxNofSteps(G4int number)
67{ fMaxNofSteps = number; }
68
69inline G4int TG4SteppingAction::GetMaxNofSteps() const
70{ return fMaxNofSteps; }
71
72inline G4int TG4SteppingAction::GetLoopVerboseLevel() const
73{ return fLoopVerboseLevel; }
74
6fc5df41 75#endif //TG4_STEPPING_ACTION_H