CMS 3D CMS Logo

CMSSteppingVerbose.h
Go to the documentation of this file.
1 #ifndef SimG4Core_CMSSteppingVerbose_h
2 #define SimG4Core_CMSSteppingVerbose_h
3 
4 //---------------------------------------------------------------
5 //
6 // CMSSteppingVerbose is intend to replace Geant4 default stepping
7 // verbosity class in order to keep necessary
8 // verbosity options when G4VERBOSE flag is disabled.
9 // The goal is to provide easy way to print
10 // per event, per track, per step.
11 //
12 // V.Ivanchenko 10.06.2016
13 //
14 //---------------------------------------------------------------
15 
16 #include "globals.hh"
17 #include <vector>
18 
19 class G4Event;
20 class G4Track;
21 class G4Step;
22 class G4SteppingManager;
23 class G4SteppingVerbose;
24 
26 public:
27  explicit CMSSteppingVerbose(
28  G4int verb, G4double ekin, std::vector<G4int>& evtNum, std::vector<G4int>& primV, std::vector<G4int>& trNum);
30 
31  void BeginOfEvent(const G4Event*);
32  void TrackStarted(const G4Track*, bool isKilled);
33  void TrackEnded(const G4Track*) const;
34  void StackFilled(const G4Track*, bool isKilled) const;
35  void NextStep(const G4Step*, const G4SteppingManager* ptr, bool isKilled) const;
36 
37 private:
38  G4bool m_PrintEvent;
39  G4bool m_PrintTrack;
41  G4int m_verbose;
42  G4int m_nEvents;
43  G4int m_nVertex;
44  G4int m_nTracks;
45  std::vector<G4int> m_EventNumbers;
46  std::vector<G4int> m_PrimaryVertex;
47  std::vector<G4int> m_TrackNumbers;
48  G4double m_EkinThreshold;
49  G4SteppingVerbose* m_g4SteppingVerbose;
50 };
51 
52 #endif
CMSSteppingVerbose::m_EventNumbers
std::vector< G4int > m_EventNumbers
Definition: CMSSteppingVerbose.h:45
CMSSteppingVerbose::m_nVertex
G4int m_nVertex
Definition: CMSSteppingVerbose.h:43
CMSSteppingVerbose::~CMSSteppingVerbose
~CMSSteppingVerbose()
Definition: CMSSteppingVerbose.cc:32
CMSSteppingVerbose::m_nEvents
G4int m_nEvents
Definition: CMSSteppingVerbose.h:42
CMSSteppingVerbose::NextStep
void NextStep(const G4Step *, const G4SteppingManager *ptr, bool isKilled) const
Definition: CMSSteppingVerbose.cc:156
CMSSteppingVerbose::m_PrintTrack
G4bool m_PrintTrack
Definition: CMSSteppingVerbose.h:39
CMSSteppingVerbose
Definition: CMSSteppingVerbose.h:25
CMSSteppingVerbose::m_TrackNumbers
std::vector< G4int > m_TrackNumbers
Definition: CMSSteppingVerbose.h:47
CMSSteppingVerbose::m_PrintEvent
G4bool m_PrintEvent
Definition: CMSSteppingVerbose.h:38
CMSSteppingVerbose::m_verbose
G4int m_verbose
Definition: CMSSteppingVerbose.h:41
CMSSteppingVerbose::StackFilled
void StackFilled(const G4Track *, bool isKilled) const
Definition: CMSSteppingVerbose.cc:136
CMSSteppingVerbose::m_EkinThreshold
G4double m_EkinThreshold
Definition: CMSSteppingVerbose.h:48
CMSSteppingVerbose::TrackStarted
void TrackStarted(const G4Track *, bool isKilled)
Definition: CMSSteppingVerbose.cc:62
CMSSteppingVerbose::m_smInitialized
G4bool m_smInitialized
Definition: CMSSteppingVerbose.h:40
CMSSteppingVerbose::m_g4SteppingVerbose
G4SteppingVerbose * m_g4SteppingVerbose
Definition: CMSSteppingVerbose.h:49
CMSSteppingVerbose::TrackEnded
void TrackEnded(const G4Track *) const
Definition: CMSSteppingVerbose.cc:130
CMSSteppingVerbose::CMSSteppingVerbose
CMSSteppingVerbose(G4int verb, G4double ekin, std::vector< G4int > &evtNum, std::vector< G4int > &primV, std::vector< G4int > &trNum)
Definition: CMSSteppingVerbose.cc:14
CMSSteppingVerbose::m_nTracks
G4int m_nTracks
Definition: CMSSteppingVerbose.h:44
CMSSteppingVerbose::BeginOfEvent
void BeginOfEvent(const G4Event *)
Definition: CMSSteppingVerbose.cc:34
CMSSteppingVerbose::m_PrimaryVertex
std::vector< G4int > m_PrimaryVertex
Definition: CMSSteppingVerbose.h:46