File indexing completed on 2023-10-25 10:04:32
0001 #ifndef SimG4Core_CMSSteppingVerbose_h
0002 #define SimG4Core_CMSSteppingVerbose_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "globals.hh"
0017 #include <vector>
0018
0019 class G4Event;
0020 class G4Track;
0021 class G4Step;
0022 class G4SteppingManager;
0023 class G4SteppingVerbose;
0024
0025 class CMSSteppingVerbose {
0026 public:
0027 explicit CMSSteppingVerbose(
0028 G4int verb, G4double ekin, std::vector<G4int>& evtNum, std::vector<G4int>& primV, std::vector<G4int>& trNum);
0029 ~CMSSteppingVerbose() = default;
0030
0031 void beginOfEvent(const G4Event*);
0032 void trackStarted(const G4Track*, bool isKilled);
0033 void trackEnded(const G4Track*) const;
0034 void stackFilled(const G4Track*, bool isKilled) const;
0035 void nextStep(const G4Step*, const G4SteppingManager* ptr, bool isKilled) const;
0036
0037 void stopEventPrint();
0038 void setVerbose(int val) { m_verbose = val; }
0039
0040 private:
0041 G4bool m_PrintEvent;
0042 G4bool m_PrintTrack;
0043 G4bool m_smInitialized;
0044 G4int m_verbose;
0045 G4int m_nEvents;
0046 G4int m_nVertex;
0047 G4int m_nTracks;
0048 std::vector<G4int> m_EventNumbers;
0049 std::vector<G4int> m_PrimaryVertex;
0050 std::vector<G4int> m_TrackNumbers;
0051 G4double m_EkinThreshold;
0052 G4SteppingVerbose* m_g4SteppingVerbose;
0053 };
0054
0055 #endif