ATLAS Offline Software
VerboseSelector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4DEBUGGINGTOOLS_VerboseSelector_H
6 #define G4DEBUGGINGTOOLS_VerboseSelector_H
7 
8 #include <string>
9 
10 #include "G4UserSteppingAction.hh"
11 #include "G4UserTrackingAction.hh"
12 #include "G4UserEventAction.hh"
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "StoreGate/StoreGateSvc.h"
16 
17 namespace G4UA
18 {
19 
20  class VerboseSelector : public AthMessaging,
21  public G4UserEventAction,
22  public G4UserSteppingAction,
23  public G4UserTrackingAction
24  {
25 
26  public:
27 
28  struct Config
29  {
30 
31  int targetEvent=-1;
32  int targetTrack=-1;
33  int targetBarcode=-1;
34  int verboseLevel=0;
35  int verb=1;
36  double Xmin=0, Xmax=0;
37  double Ymin=0, Ymax=0;
38  double Zmin=0, Zmax=0;
39  std::vector<double> targetPdgIDs = {};
40 
41  };
42 
44  virtual void UserSteppingAction(const G4Step*) override;
45  virtual void PreUserTrackingAction(const G4Track*) override;
46  virtual void PostUserTrackingAction(const G4Track*) override;
47  virtual void BeginOfEventAction(const G4Event*) override;
48 
49  private:
56 
57  }; // class VerboseSelector
58 
59 } // namespace G4UA
60 
61 #endif //G4DEBUGGINGTOOLS_VerboseSelector_H
G4UA::VerboseSelector::Config::Ymin
double Ymin
Definition: VerboseSelector.h:37
G4UA::VerboseSelector::Config::Xmin
double Xmin
Definition: VerboseSelector.h:36
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::VerboseSelector::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
Definition: VerboseSelector.cxx:50
G4UA::VerboseSelector::Config::targetEvent
int targetEvent
Definition: VerboseSelector.h:31
G4UA::VerboseSelector::m_config
Config m_config
Definition: VerboseSelector.h:54
G4UA::VerboseSelector::Config::Xmax
double Xmax
Definition: VerboseSelector.h:36
G4UA::VerboseSelector::PostUserTrackingAction
virtual void PostUserTrackingAction(const G4Track *) override
Definition: VerboseSelector.cxx:139
G4UA::VerboseSelector::Config::targetPdgIDs
std::vector< double > targetPdgIDs
Definition: VerboseSelector.h:39
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::VerboseSelector::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Pointer to StoreGate (detector store by default)
Definition: VerboseSelector.h:53
G4UA::VerboseSelector::BeginOfEventAction
virtual void BeginOfEventAction(const G4Event *) override
Definition: VerboseSelector.cxx:40
G4UA::VerboseSelector::m_evtStore
ServiceHandle< StoreGateSvc > m_evtStore
Pointer to StoreGate (event store by default)
Definition: VerboseSelector.h:51
G4UA::VerboseSelector::Config::verboseLevel
int verboseLevel
Definition: VerboseSelector.h:34
G4UA::VerboseSelector::Config::Ymax
double Ymax
Definition: VerboseSelector.h:37
G4UA::VerboseSelector::Config::Zmin
double Zmin
Definition: VerboseSelector.h:38
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
G4UA::VerboseSelector::PreUserTrackingAction
virtual void PreUserTrackingAction(const G4Track *) override
Definition: VerboseSelector.cxx:99
Config
Definition: dumpNPs.cxx:47
G4UA::VerboseSelector::m_evtCount
uint64_t m_evtCount
Definition: VerboseSelector.h:55
G4UA::VerboseSelector::Config::Zmax
double Zmax
Definition: VerboseSelector.h:38
G4UA::VerboseSelector::Config::targetBarcode
int targetBarcode
Definition: VerboseSelector.h:33
G4UA::VerboseSelector::Config::targetTrack
int targetTrack
Definition: VerboseSelector.h:32
G4UA::VerboseSelector::Config::verb
int verb
Definition: VerboseSelector.h:35
G4UA::VerboseSelector::VerboseSelector
VerboseSelector(const Config &config)
Definition: VerboseSelector.cxx:33
G4UA::VerboseSelector::Config
Definition: VerboseSelector.h:29
AthMessaging.h
StoreGateSvc.h
G4UA::VerboseSelector
Definition: VerboseSelector.h:24
ServiceHandle< StoreGateSvc >