ATLAS Offline Software
DetectorGeometrySvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASSERVICES_DETECTORGEOMETRYSVC_H
6 #define G4ATLASSERVICES_DETECTORGEOMETRYSVC_H
7 
8 // Base classes
11 
12 // Athena headers
14 
15 // Gaudi headers
16 #include "GaudiKernel/ToolHandle.h" // For tool handle
17 
18 class G4VUserDetectorConstruction;
19 
20 class DetectorGeometrySvc : public extends<AthService, IDetectorGeometrySvc> {
21 public:
22  // Standard constructor and destructor
23  DetectorGeometrySvc( const std::string& name, ISvcLocator* pSvcLocator );
24  virtual ~DetectorGeometrySvc() = default;
25 
26  // Gaudi methods
27  StatusCode initialize() override final;
28  StatusCode finalize() override final;
29 
30  G4VUserDetectorConstruction* GetDetectorConstruction() override final;
31 
32  std::vector<std::string>& GetParallelWorldNames() override final; // Called by G4AtlasAlg and (G4Legacy)TransportTool.
33 
34 protected:
35 
36 private:
37  PublicToolHandle<IDetectorConstructionTool> m_detConstruction{this, "DetectorConstruction", "", "Tool handle of the DetectorConstruction"};
38 };
39 
40 #endif
DetectorGeometrySvc::GetParallelWorldNames
std::vector< std::string > & GetParallelWorldNames() override final
Definition: DetectorGeometrySvc.cxx:68
DetectorGeometrySvc::GetDetectorConstruction
G4VUserDetectorConstruction * GetDetectorConstruction() override final
Definition: DetectorGeometrySvc.cxx:63
IDetectorConstructionTool
Definition: IDetectorConstructionTool.h:26
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
DetectorGeometrySvc
Definition: DetectorGeometrySvc.h:20
IDetectorGeometrySvc.h
DetectorGeometrySvc::m_detConstruction
PublicToolHandle< IDetectorConstructionTool > m_detConstruction
Definition: DetectorGeometrySvc.h:37
DetectorGeometrySvc::finalize
StatusCode finalize() override final
Definition: DetectorGeometrySvc.cxx:31
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
DetectorGeometrySvc::DetectorGeometrySvc
DetectorGeometrySvc(const std::string &name, ISvcLocator *pSvcLocator)
Definition: DetectorGeometrySvc.cxx:14
IDetectorConstructionTool.h
DetectorGeometrySvc::~DetectorGeometrySvc
virtual ~DetectorGeometrySvc()=default
DetectorGeometrySvc::initialize
StatusCode initialize() override final
Definition: DetectorGeometrySvc.cxx:20
AthService.h