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 
25 {
26 public:
27 
28  explicit CMSSteppingVerbose(G4int verb, G4double ekin,
29  std::vector<G4int>& evtNum,
30  std::vector<G4int>& primV,
31  std::vector<G4int>& trNum);
33 
34  void BeginOfEvent(const G4Event*);
35  void TrackStarted(const G4Track*, bool isKilled);
36  void TrackEnded(const G4Track*) const;
37  void StackFilled(const G4Track*, bool isKilled) const;
38  void NextStep(const G4Step*, const G4SteppingManager* ptr,
39  bool isKilled) const;
40 
41 private:
42 
43  G4bool m_PrintEvent;
44  G4bool m_PrintTrack;
45  G4int m_verbose;
46  G4int m_nEvents;
47  G4int m_nVertex;
48  G4int m_nTracks;
49  std::vector<G4int> m_EventNumbers;
50  std::vector<G4int> m_PrimaryVertex;
51  std::vector<G4int> m_TrackNumbers;
52  G4double m_EkinThreshold;
53 };
54 
55 #endif
void StackFilled(const G4Track *, bool isKilled) const
std::vector< G4int > m_EventNumbers
void NextStep(const G4Step *, const G4SteppingManager *ptr, bool isKilled) const
void TrackEnded(const G4Track *) const
std::vector< G4int > m_TrackNumbers
CMSSteppingVerbose(G4int verb, G4double ekin, std::vector< G4int > &evtNum, std::vector< G4int > &primV, std::vector< G4int > &trNum)
void BeginOfEvent(const G4Event *)
std::vector< G4int > m_PrimaryVertex
void TrackStarted(const G4Track *, bool isKilled)