]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliSteppingAction.h
renamed static data members (change of coding conventions)
[u/mrichter/AliRoot.git] / AliGeant4 / AliSteppingAction.h
CommitLineData
676fb573 1// $Id$
2// Category: event
3//
4// Class for detecting and stopping looping particles
5
6#ifndef ALI_STEPPING_ACTION_H
7#define ALI_STEPPING_ACTION_H
8
9#include <G4UserSteppingAction.hh>
10#include <G4ThreeVector.hh>
11#include <globals.hh>
12
13class AliSteppingActionMessenger;
14
15class G4Track;
16
17class AliSteppingAction : public G4UserSteppingAction
18{
19 enum {
20 kCheckNofSteps = 100,
21 kMaxNofLoopSteps = 5
22 };
23
24 public:
25 AliSteppingAction();
26 // protected
27 // AliSteppingAction(const AliSteppingAction& right);
28 virtual ~AliSteppingAction();
29
30 // methods
31 virtual void UserSteppingAction(const G4Step* step);
32
33 // set methods
34 void SetLoopVerboseLevel(G4int level);
35
36 // get methods
37 G4int GetLoopVerboseLevel() const;
38
39 protected:
40 AliSteppingAction(const AliSteppingAction& right);
41
42 // operators
43 AliSteppingAction& operator=(const AliSteppingAction& right);
44
45 private:
46 // methods
47 void PrintTrackInfo(const G4Track* track) const;
48
49 // static data members
c63f260d 50 static const G4double fgkTolerance; //tolerance used in detecting
51 //of looping particles
676fb573 52
53 // data members
54 G4ThreeVector fKeptStepPoint; //kept step point
55 G4int fLoopVerboseLevel; //tracking verbose level
56 //for looping particles
57 G4int fStandardVerboseLevel; //standard tracking verbose level
58 G4int fLoopStepCounter; //loop steps counter
59 AliSteppingActionMessenger* fMessenger; //messenger
60};
61
62// inline methods
63
64inline void AliSteppingAction::SetLoopVerboseLevel(G4int level)
65{ fLoopVerboseLevel = level; }
66
67inline G4int AliSteppingAction::GetLoopVerboseLevel() const
68{ return fLoopVerboseLevel; }
69
70#endif //ALI_STEPPING_ACTION_H
71