ATLAS Offline Software
Loading...
Searching...
No Matches
Geo2G4Svc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GEO2G4_Geo2G4Svc_H
6#define GEO2G4_Geo2G4Svc_H
7
11
13#include "VolumeBuilder.h"
14
15#include <string>
16#include <unordered_map>
17#include <memory>
18
19typedef std::unordered_map<std::string, std::unique_ptr<VolumeBuilder>> BuilderMap;
20
22class Geo2G4Svc: public extends<AthService, IGeo2G4Svc>
23{
24public:
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=std::move(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
37 typedef std::unordered_map<std::string, std::unique_ptr<VolumeBuilder>> BuilderMap;
38
43};
44
45#endif
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition Geo2G4Svc.h:19
Define macros for attributes used to control the static checker.
virtual ~Geo2G4Svc()
Definition Geo2G4Svc.cxx:19
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition Geo2G4Svc.h:37
virtual void SetDefaultBuilder(std::string n) override final
Geo2G4SvcBase methods.
Definition Geo2G4Svc.h:30
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override final
AthService methods.
BuilderMap m_builders
Definition Geo2G4Svc.h:40
virtual bool UseTopTransforms() const override final
Definition Geo2G4Svc.h:33
Geo2G4Svc(const std::string &, ISvcLocator *)
Definition Geo2G4Svc.cxx:9
bool m_getTopTransform
Definition Geo2G4Svc.h:41
std::unique_ptr< Geo2G4AssemblyFactory > m_G4AssemblyFactory
Definition Geo2G4Svc.h:42
virtual VolumeBuilder * GetDefaultBuilder() const override final
Definition Geo2G4Svc.h:32
std::string m_defaultBuilder
Definition Geo2G4Svc.h:39
virtual VolumeBuilder * GetVolumeBuilder(std::string s) const override final
Definition Geo2G4Svc.cxx:54
virtual void ListVolumeBuilders() const override final
Definition Geo2G4Svc.cxx:42
STL class.
STL namespace.
void initialize()
#define private