ATLAS Offline Software
G4GeometryNotifierSvc.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 G4ATLASSERVICES_G4GEOMETRYNOTIFIERSVC_H
6 #define G4ATLASSERVICES_G4GEOMETRYNOTIFIERSVC_H
7 
8 // Base classes
11 
12 class G4VNotifier;
13 
14 class G4GeometryNotifierSvc : public extends<AthService, IG4GeometryNotifierSvc> {
15 public:
16  // Standard constructor and destructor
17  G4GeometryNotifierSvc( const std::string& name, ISvcLocator* pSvcLocator );
18  virtual ~G4GeometryNotifierSvc();
19 
20  // Gaudi methods
21  StatusCode initialize() override final;
22  StatusCode finalize() override final;
23 
24  //FIXME This is a bit nasty as it is not thread-safe, but we assume
25  //that the geometry building will be done in a single thread.
26  void SetCurrentDetectorName(const std::string& s) override final {m_currentDetectorName=s;}
27  const std::string GetCurrentDetectorName() const override final {return m_currentDetectorName;}
28 
29 private:
30  std::string m_currentDetectorName{""};
31 
32  Gaudi::Property<bool> m_activateLVNotifier{this, "ActivateLVNotifier", true, "Toggle on/off the G4 LV notifier"};
33  Gaudi::Property<bool> m_activatePVNotifier{this, "ActivatePVNotifier", false, "Toggle on/off the G4 PV notifier"};
34  G4VNotifier* lvNotifier{};
35  G4VNotifier* pvNotifier{};
36 };
37 
38 #endif //G4ATLASSERVICES_G4GEOMETRYNOTIFIERSVC_H
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
G4GeometryNotifierSvc
Definition: G4GeometryNotifierSvc.h:14
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
G4GeometryNotifierSvc::m_activateLVNotifier
Gaudi::Property< bool > m_activateLVNotifier
Definition: G4GeometryNotifierSvc.h:32
G4GeometryNotifierSvc::m_currentDetectorName
std::string m_currentDetectorName
Definition: G4GeometryNotifierSvc.h:30
G4GeometryNotifierSvc::finalize
StatusCode finalize() override final
Definition: G4GeometryNotifierSvc.cxx:34
G4GeometryNotifierSvc::G4GeometryNotifierSvc
G4GeometryNotifierSvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: G4GeometryNotifierSvc.cxx:10
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
G4GeometryNotifierSvc::SetCurrentDetectorName
void SetCurrentDetectorName(const std::string &s) override final
Definition: G4GeometryNotifierSvc.h:26
G4GeometryNotifierSvc::pvNotifier
G4VNotifier * pvNotifier
Definition: G4GeometryNotifierSvc.h:35
G4GeometryNotifierSvc::GetCurrentDetectorName
const std::string GetCurrentDetectorName() const override final
Definition: G4GeometryNotifierSvc.h:27
G4GeometryNotifierSvc::initialize
StatusCode initialize() override final
Definition: G4GeometryNotifierSvc.cxx:22
IG4GeometryNotifierSvc.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
G4GeometryNotifierSvc::lvNotifier
G4VNotifier * lvNotifier
Definition: G4GeometryNotifierSvc.h:34
G4GeometryNotifierSvc::~G4GeometryNotifierSvc
virtual ~G4GeometryNotifierSvc()
Definition: G4GeometryNotifierSvc.cxx:16
G4GeometryNotifierSvc::m_activatePVNotifier
Gaudi::Property< bool > m_activatePVNotifier
Definition: G4GeometryNotifierSvc.h:33
AthService.h