ATLAS Offline Software
Loading...
Searching...
No Matches
Geo2G4Svc Class Reference

#include <Geo2G4Svc.h>

Inheritance diagram for Geo2G4Svc:
Collaboration diagram for Geo2G4Svc:

Public Member Functions

 Geo2G4Svc (const std::string &, ISvcLocator *)
virtual ~Geo2G4Svc ()
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE () override final
 AthService methods.
virtual void SetDefaultBuilder (std::string n) override final
 Geo2G4SvcBase methods.
virtual VolumeBuilderGetVolumeBuilder (std::string s) const override final
virtual VolumeBuilderGetDefaultBuilder () const override final
virtual bool UseTopTransforms () const override final
virtual void ListVolumeBuilders () const override final

Private Types

typedef std::unordered_map< std::string, std::unique_ptr< VolumeBuilder > > BuilderMap

Private Attributes

Gaudi::Property< bool > m_getTopTransform {this, "GetTopTransform", true}
BuilderMap m_builders
std::string m_defaultBuilder {""}
std::unique_ptr< Geo2G4AssemblyFactorym_G4AssemblyFactory {}

Detailed Description

Todo
NEEDS DOCUMENTATION

Definition at line 22 of file Geo2G4Svc.h.

Member Typedef Documentation

◆ BuilderMap

typedef std::unordered_map<std::string, std::unique_ptr<VolumeBuilder> > Geo2G4Svc::BuilderMap
private

Definition at line 37 of file Geo2G4Svc.h.

Constructor & Destructor Documentation

◆ Geo2G4Svc()

Geo2G4Svc::Geo2G4Svc ( const std::string & name,
ISvcLocator * svcLocator )

Definition at line 9 of file Geo2G4Svc.cxx.

10 : base_class(name,svcLocator)
11{
12}

◆ ~Geo2G4Svc()

Geo2G4Svc::~Geo2G4Svc ( )
virtual

Definition at line 14 of file Geo2G4Svc.cxx.

15{}

Member Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

virtual StatusCode initialize Geo2G4Svc::ATLAS_NOT_THREAD_SAFE ( )
finaloverridevirtual

AthService methods.

◆ GetDefaultBuilder()

virtual VolumeBuilder * Geo2G4Svc::GetDefaultBuilder ( ) const
inlinefinaloverridevirtual

Definition at line 32 of file Geo2G4Svc.h.

32{return m_builders.at(m_defaultBuilder).get();}
BuilderMap m_builders
Definition Geo2G4Svc.h:40
std::string m_defaultBuilder
Definition Geo2G4Svc.h:41

◆ GetVolumeBuilder()

VolumeBuilder * Geo2G4Svc::GetVolumeBuilder ( std::string s) const
finaloverridevirtual

Definition at line 49 of file Geo2G4Svc.cxx.

50{
51 const auto builderItr(m_builders.find(s));
52 if (builderItr!=m_builders.end())
53 {
54 return builderItr->second.get();
55 }
56 else
57 {
58 ATH_MSG_ERROR ("Trying to retrieve a not existing builder "<<s);
59 ATH_MSG_ERROR ("\treturning Default Builder");
60 }
61 return GetDefaultBuilder();
62}
#define ATH_MSG_ERROR(x)
virtual VolumeBuilder * GetDefaultBuilder() const override final
Definition Geo2G4Svc.h:32

◆ ListVolumeBuilders()

void Geo2G4Svc::ListVolumeBuilders ( ) const
finaloverridevirtual

Definition at line 37 of file Geo2G4Svc.cxx.

38{
39 ATH_MSG_INFO("---- List of all Volume Builders registered with Geo2G4Svc ----");
40 ATH_MSG_INFO("---------------------------------------------------------------");
41 for (const auto& builder : m_builders)
42 {
43 ATH_MSG_INFO(" Volume Builder: "<<builder.second->GetKey());
44 }
45 ATH_MSG_INFO("---------------------------------------------------------------");
46 ATH_MSG_INFO(" default builder is "<<GetDefaultBuilder()->GetKey());
47}
#define ATH_MSG_INFO(x)

◆ SetDefaultBuilder()

virtual void Geo2G4Svc::SetDefaultBuilder ( std::string n)
inlinefinaloverridevirtual

Geo2G4SvcBase methods.

Definition at line 30 of file Geo2G4Svc.h.

30{m_defaultBuilder=std::move(n);}

◆ UseTopTransforms()

virtual bool Geo2G4Svc::UseTopTransforms ( ) const
inlinefinaloverridevirtual

Definition at line 33 of file Geo2G4Svc.h.

33{return m_getTopTransform;}
Gaudi::Property< bool > m_getTopTransform
Definition Geo2G4Svc.h:39

Member Data Documentation

◆ m_builders

BuilderMap Geo2G4Svc::m_builders
private

Definition at line 40 of file Geo2G4Svc.h.

◆ m_defaultBuilder

std::string Geo2G4Svc::m_defaultBuilder {""}
private

Definition at line 41 of file Geo2G4Svc.h.

41{""};

◆ m_G4AssemblyFactory

std::unique_ptr<Geo2G4AssemblyFactory> Geo2G4Svc::m_G4AssemblyFactory {}
private

Definition at line 42 of file Geo2G4Svc.h.

42{};

◆ m_getTopTransform

Gaudi::Property<bool> Geo2G4Svc::m_getTopTransform {this, "GetTopTransform", true}
private

Definition at line 39 of file Geo2G4Svc.h.

39{this, "GetTopTransform", true};

The documentation for this class was generated from the following files: