File indexing completed on 2023-03-17 11:25:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef SimG4Core_TrackingVerbose_h
0019 #define SimG4Core_TrackingVerbose_h 1
0020
0021 #include "SimG4Core/Watcher/interface/SimWatcher.h"
0022 #include "SimG4Core/Notification/interface/Observer.h"
0023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0024
0025 #include "G4Step.hh"
0026
0027 #include <vector>
0028
0029 class BeginOfTrack;
0030 class EndOfTrack;
0031 class BeginOfEvent;
0032 class BeginOfRun;
0033 class G4Track;
0034 class G4TrackingManager;
0035 class G4VSteppingVerbose;
0036
0037 class TrackingVerboseAction : public SimWatcher,
0038 public Observer<const BeginOfRun *>,
0039 public Observer<const BeginOfEvent *>,
0040 public Observer<const BeginOfTrack *>,
0041 public Observer<const EndOfTrack *>,
0042 public Observer<const G4Step *> {
0043 public:
0044 TrackingVerboseAction(edm::ParameterSet const &p);
0045 ~TrackingVerboseAction() override;
0046 void update(const BeginOfRun *) override;
0047 void update(const BeginOfEvent *) override;
0048 void update(const BeginOfTrack *) override;
0049 void update(const EndOfTrack *) override;
0050 void update(const G4Step *) override;
0051
0052 private:
0053 void setTrackingVerbose(int verblev);
0054 bool checkTrackingVerbose(const G4Track *);
0055 void printTrackInfo(const G4Track *);
0056
0057 private:
0058 int fLarge;
0059 bool fDEBUG;
0060 bool fG4Verbose;
0061 bool fHighEtPhotons;
0062 int fTVTrackMin;
0063 int fTVTrackMax;
0064 int fTVTrackStep;
0065 int fTVEventMin;
0066 int fTVEventMax;
0067 int fTVEventStep;
0068 int fVerboseLevel;
0069 bool fTrackingVerboseON;
0070 bool fTkVerbThisEventON;
0071 std::vector<int> fPdgIds;
0072 G4TrackingManager *theTrackingManager;
0073 G4VSteppingVerbose *fVerbose;
0074 };
0075
0076 #endif