ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
Geo2G4
src
Geo2G4Svc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef GEO2G4_Geo2G4Svc_H
6
#define GEO2G4_Geo2G4Svc_H
7
8
#include "
AthenaBaseComps/AthService.h
"
9
#include "
CxxUtils/checker_macros.h
"
10
#include "
G4AtlasInterfaces/IGeo2G4Svc.h
"
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
=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
36
private
:
37
typedef
std
::unordered_map<
std
::
string
,
std
::
unique_ptr
<
VolumeBuilder
>>
BuilderMap
;
38
39
Gaudi
::
Property
<
bool
>
m_getTopTransform
{
this
,
"GetTopTransform"
,
true
};
40
BuilderMap
m_builders
;
41
std::string
m_defaultBuilder
{
""
};
42
std::unique_ptr<Geo2G4AssemblyFactory>
m_G4AssemblyFactory
{};
43
};
44
45
#endif
AthService.h
Geo2G4AssemblyFactory.h
BuilderMap
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition
Geo2G4Svc.h:19
IGeo2G4Svc.h
VolumeBuilder.h
checker_macros.h
Define macros for attributes used to control the static checker.
Geo2G4Svc::~Geo2G4Svc
virtual ~Geo2G4Svc()
Definition
Geo2G4Svc.cxx:14
Geo2G4Svc::BuilderMap
std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap
Definition
Geo2G4Svc.h:37
Geo2G4Svc::SetDefaultBuilder
virtual void SetDefaultBuilder(std::string n) override final
Geo2G4SvcBase methods.
Definition
Geo2G4Svc.h:30
Geo2G4Svc::ATLAS_NOT_THREAD_SAFE
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override final
AthService methods.
Geo2G4Svc::m_builders
BuilderMap m_builders
Definition
Geo2G4Svc.h:40
Geo2G4Svc::UseTopTransforms
virtual bool UseTopTransforms() const override final
Definition
Geo2G4Svc.h:33
Geo2G4Svc::Geo2G4Svc
Geo2G4Svc(const std::string &, ISvcLocator *)
Definition
Geo2G4Svc.cxx:9
Geo2G4Svc::m_G4AssemblyFactory
std::unique_ptr< Geo2G4AssemblyFactory > m_G4AssemblyFactory
Definition
Geo2G4Svc.h:42
Geo2G4Svc::GetDefaultBuilder
virtual VolumeBuilder * GetDefaultBuilder() const override final
Definition
Geo2G4Svc.h:32
Geo2G4Svc::m_defaultBuilder
std::string m_defaultBuilder
Definition
Geo2G4Svc.h:41
Geo2G4Svc::GetVolumeBuilder
virtual VolumeBuilder * GetVolumeBuilder(std::string s) const override final
Definition
Geo2G4Svc.cxx:49
Geo2G4Svc::ListVolumeBuilders
virtual void ListVolumeBuilders() const override final
Definition
Geo2G4Svc.cxx:37
Geo2G4Svc::m_getTopTransform
Gaudi::Property< bool > m_getTopTransform
Definition
Geo2G4Svc.h:39
Property
Support class for PropertyMgr.
Definition
Property.h:23
VolumeBuilder
Definition
Simulation/G4Utilities/Geo2G4/src/VolumeBuilder.h:20
unique_ptr
STL class.
const
Gaudi
=============================================================================
Definition
CaloGPUClusterAndCellDataMonitorOptions.h:273
std
STL namespace.
initialize
void initialize()
Definition
run_EoverP.cxx:894
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0