MarlinMT  0.1.0
marlinmt::GeometryManager Class Reference

GeometryManager class. More...

#include <GeometryManager.h>

Inherits marlinmt::Component.

Public Member Functions

 GeometryManager (const GeometryManager &)=delete
 
GeometryManageroperator= (const GeometryManager &)=delete
 
 ~GeometryManager ()=default
 
 GeometryManager ()
 Default constructor. More...
 
template<typename T >
const T * geometry () const
 Get the underlying geometry handle Example: More...
 
std::type_index typeIndex () const
 Get the underlying geometry type info. More...
 
void clear ()
 Clear the geometry content. More...
 
- Public Member Functions inherited from marlinmt::Component
 Component ()=delete
 No default constructor. More...
 
 Component (const Component &)=delete
 No copy or assignement. More...
 
Componentoperator= (const Component &)=delete
 
virtual ~Component ()=default
 Default destructor. More...
 
 Component (const std::string &type)
 Constructor with component type. More...
 
const std::string & type () const
 Get the component name. More...
 
const std::string & name () const
 Get the component name. More...
 
void setName (const std::string &n)
 Set the component name. More...
 
const std::string & description () const
 Get the component description. More...
 
void setDescription (const std::string &desc)
 Set the component description. More...
 
const Applicationapplication () const
 Get the application in which the component is registered. More...
 
Applicationapplication ()
 Get the application in which the component is registered. More...
 
template<class T >
Logging::StreamType log () const
 Log a message with specific log level. More...
 
Logging::StreamType debug () const
 Shortcut for log<DEBUG>() More...
 
Logging::StreamType message () const
 Shortcut for log<MESSAGE>() More...
 
Logging::StreamType warning () const
 Shortcut for log<WARNING>() More...
 
Logging::StreamType error () const
 Shortcut for log<ERROR>() More...
 
void setVerbosity (const std::string &level)
 Set the verbosity level. More...
 
const std::string & verbosity () const
 Get the verbosity level. More...
 
bool isInitialized () const
 Whether the component has been initialized. More...
 
void setup (Application *app)
 Setup the component. More...
 
void printParameters () const
 Print the component parameters. More...
 
template<class T >
void printParameters () const
 Print the component parameters at specific verbosity. More...
 
void setParameters (const ConfigSection &section, bool throwIfNotFound=false)
 Set the parameters from the configuration section. More...
 
void getParameters (ConfigSection &section, const std::set< std::string > &exclude={}) const
 Get the parameters from configurable object and populate the config section with. More...
 
- Public Member Functions inherited from marlinmt::Configurable
 Configurable ()=default
 
virtual ~Configurable ()=default
 
template<typename T >
std::shared_ptr< ParameterImpladdParameter (EParameterType paramType, const std::string &name, const std::string &desc, std::shared_ptr< T > value)
 Add a parameter. More...
 
template<typename T >
std::shared_ptr< ParameterImpladdParameter (EParameterType paramType, const std::string &name, const std::string &desc, std::shared_ptr< T > value, T defVal)
 Add a parameter. More...
 
template<typename T >
parameter (const std::string &name) const
 Get a parameter value. More...
 
template<typename T >
parameter (const std::string &name, const T &fallback) const
 Get a parameter value. More...
 
void checkParameter (const std::string &name) const
 Check if the parameter has been registered. More...
 
bool exists (const std::string &name) const
 Return true if the parameter has been registered. More...
 
bool isSet (const std::string &name) const
 Returns true if the parameter exists and is set, false otherwise. More...
 
void clear ()
 Remove all parameters. More...
 
void unset ()
 Unset all registered parameters. More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 

Private Member Functions

void initialize () override
 Initialize geometry manager. More...
 

Private Attributes

std::shared_ptr< GeometryPlugin_plugin {nullptr}
 The geometry plugin created on initialization. More...
 
StringParameter _geometryType {*this, "GeometryType", "The geometry plugin type", "EmptyGeometry"}
 The geometry type, read as <geometry type="DD4hepGeometry"> More...
 

Additional Inherited Members

- Public Types inherited from marlinmt::Component
using LoggerPtr = Logging::Logger
 
- Public Types inherited from marlinmt::Configurable
using ParameterMap = std::map< std::string, std::shared_ptr< ParameterImpl > >
 
using iterator = ParameterMap::iterator
 
using const_iterator = ParameterMap::const_iterator
 
- Protected Attributes inherited from marlinmt::Component
std::string _type {}
 The component type. More...
 
std::string _name {}
 The component name. More...
 
std::string _description {"No description"}
 The component description. More...
 
Application_application {nullptr}
 The application in which the component has been registered. More...
 
LoggerPtr _logger {nullptr}
 The logger instance. More...
 
StringParameter _verbosity { *this, "Verbosity", "The component verbosity level", "MESSAGE" }
 The verbosity level of the logger (parameter) More...
 
- Protected Attributes inherited from marlinmt::Configurable
ParameterMap _parameters {}
 The parameter map. More...
 

Detailed Description

GeometryManager class.

Handle a user plugin in charge of loading the geometry in the framework and providing access to it.

Definition at line 22 of file GeometryManager.h.

Constructor & Destructor Documentation

◆ GeometryManager() [1/2]

marlinmt::GeometryManager::GeometryManager ( const GeometryManager )
delete

◆ ~GeometryManager()

marlinmt::GeometryManager::~GeometryManager ( )
default

◆ GeometryManager() [2/2]

marlinmt::GeometryManager::GeometryManager ( )

Default constructor.

Definition at line 9 of file GeometryManager.cc.

References marlinmt::Component::setName().

Member Function Documentation

◆ clear()

void marlinmt::GeometryManager::clear ( )

Clear the geometry content.

Definition at line 48 of file GeometryManager.cc.

References _plugin.

◆ geometry()

template<typename T >
const T * marlinmt::GeometryManager::geometry ( ) const
inline

Get the underlying geometry handle Example:

// assume Gear geometry has been loaded
const gear::GearMgr* gearGeo = mgr->geometry<gear::GearMgr>() ;
// assume DD4hep geometry has been loaded
const dd4hep::Detector* dd4hepGeo = mgr->geometry<dd4hep::Detector>() ;

Definition at line 72 of file GeometryManager.h.

References _plugin.

Referenced by marlinmt::ProcessorApi::geometry().

◆ initialize()

◆ operator=()

GeometryManager& marlinmt::GeometryManager::operator= ( const GeometryManager )
delete

◆ typeIndex()

std::type_index marlinmt::GeometryManager::typeIndex ( ) const

Get the underlying geometry type info.

Definition at line 39 of file GeometryManager.cc.

References _plugin, and MARLINMT_THROW.

Member Data Documentation

◆ _geometryType

StringParameter marlinmt::GeometryManager::_geometryType {*this, "GeometryType", "The geometry plugin type", "EmptyGeometry"}
private

The geometry type, read as <geometry type="DD4hepGeometry">

Definition at line 65 of file GeometryManager.h.

Referenced by initialize().

◆ _plugin

std::shared_ptr<GeometryPlugin> marlinmt::GeometryManager::_plugin {nullptr}
private

The geometry plugin created on initialization.

Definition at line 63 of file GeometryManager.h.

Referenced by clear(), geometry(), initialize(), and typeIndex().


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