ATLAS Offline Software
Geo2G4Svc.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 GEO2G4_Geo2G4Svc_H
6 #define GEO2G4_Geo2G4Svc_H
7 
11 
12 #include "Geo2G4AssemblyFactory.h"
13 #include "VolumeBuilder.h"
14 
15 #include <string>
16 #include <unordered_map>
17 #include <memory>
18 
19 typedef std::unordered_map<std::string, std::unique_ptr<VolumeBuilder>> BuilderMap;
20 
22 class Geo2G4Svc: public extends<AthService, IGeo2G4Svc>
23 {
24 public:
25  Geo2G4Svc(const std::string& , ISvcLocator *);
26  virtual ~Geo2G4Svc();
28  virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE () override final;
30  virtual void SetDefaultBuilder(std::string n) override final {m_defaultBuilder=n;}
31  virtual VolumeBuilder* GetVolumeBuilder(std::string s) const override final;
32  virtual VolumeBuilder* GetDefaultBuilder() const override final {return m_builders.at(m_defaultBuilder).get();}
33  virtual bool UseTopTransforms() const override final {return m_getTopTransform;}
34  virtual void ListVolumeBuilders() const override final;
35 
36 private:
37  typedef std::unordered_map<std::string, std::unique_ptr<VolumeBuilder>> BuilderMap;
38 
39  std::string m_defaultBuilder;
43 };
44 
45 #endif
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Geo2G4Svc::~Geo2G4Svc
virtual ~Geo2G4Svc()
Definition: Geo2G4Svc.cxx:19
Geo2G4Svc::m_G4AssemblyFactory
std::unique_ptr< Geo2G4AssemblyFactory > m_G4AssemblyFactory
Definition: Geo2G4Svc.h:42
initialize
void initialize()
Definition: run_EoverP.cxx:894
VolumeBuilder
Definition: Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:22
Geo2G4Svc::GetDefaultBuilder
virtual VolumeBuilder * GetDefaultBuilder() const override final
Definition: Geo2G4Svc.h:32
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Geo2G4Svc::m_defaultBuilder
std::string m_defaultBuilder
Definition: Geo2G4Svc.h:39
Geo2G4Svc::m_builders
BuilderMap m_builders
Definition: Geo2G4Svc.h:40
Geo2G4Svc::GetVolumeBuilder
virtual VolumeBuilder * GetVolumeBuilder(std::string s) const override final
Definition: Geo2G4Svc.cxx:54
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Geo2G4Svc::Geo2G4Svc
Geo2G4Svc(const std::string &, ISvcLocator *)
Definition: Geo2G4Svc.cxx:9
Geo2G4Svc::ListVolumeBuilders
virtual void ListVolumeBuilders() const override final
Definition: Geo2G4Svc.cxx:42
Geo2G4Svc::m_getTopTransform
bool m_getTopTransform
Definition: Geo2G4Svc.h:41
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
IGeo2G4Svc.h
VolumeBuilder.h
Geo2G4Svc::UseTopTransforms
virtual bool UseTopTransforms() const override final
Definition: Geo2G4Svc.h:33
Geo2G4AssemblyFactory
Definition: Geo2G4AssemblyFactory.h:16
Geo2G4Svc::SetDefaultBuilder
virtual void SetDefaultBuilder(std::string n) override final
Geo2G4SvcBase methods.
Definition: Geo2G4Svc.h:30
Geo2G4Svc::BuilderMap
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition: Geo2G4Svc.h:37
AthService.h
checker_macros.h
Define macros for attributes used to control the static checker.
Geo2G4AssemblyFactory.h
Geo2G4Svc::ATLAS_NOT_THREAD_SAFE
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override final
AthService methods.
BuilderMap
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition: Geo2G4Svc.h:19
Geo2G4Svc
Definition: Geo2G4Svc.h:23