MarlinMT
0.1.0
|
GeometryManager class. More...
#include <GeometryManager.h>
Inherits marlinmt::Component.
Public Member Functions | |
GeometryManager (const GeometryManager &)=delete | |
GeometryManager & | operator= (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... | |
Component & | operator= (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 Application & | application () const |
Get the application in which the component is registered. More... | |
Application & | application () |
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 §ion, bool throwIfNotFound=false) |
Set the parameters from the configuration section. More... | |
void | getParameters (ConfigSection §ion, 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< ParameterImpl > | addParameter (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< ParameterImpl > | addParameter (EParameterType paramType, const std::string &name, const std::string &desc, std::shared_ptr< T > value, T defVal) |
Add a parameter. More... | |
template<typename T > | |
T | parameter (const std::string &name) const |
Get a parameter value. More... | |
template<typename T > | |
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... | |
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.
|
delete |
|
default |
marlinmt::GeometryManager::GeometryManager | ( | ) |
Default constructor.
Definition at line 9 of file GeometryManager.cc.
References marlinmt::Component::setName().
void marlinmt::GeometryManager::clear | ( | ) |
|
inline |
Get the underlying geometry handle Example:
Definition at line 72 of file GeometryManager.h.
References _plugin.
Referenced by marlinmt::ProcessorApi::geometry().
|
overrideprivatevirtual |
Initialize geometry manager.
Reimplemented from marlinmt::Component.
Definition at line 16 of file GeometryManager.cc.
References _geometryType, _plugin, marlinmt::Component::application(), marlinmt::Application::configuration(), marlinmt::ParameterBase< T >::get(), marlinmt::PluginManager::instance(), MARLINMT_THROW, marlinmt::Component::message(), marlinmt::Configuration::section(), and marlinmt::Component::setParameters().
|
delete |
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.
|
private |
The geometry type, read as <geometry type="DD4hepGeometry">
Definition at line 65 of file GeometryManager.h.
Referenced by initialize().
|
private |
The geometry plugin created on initialization.
Definition at line 63 of file GeometryManager.h.
Referenced by clear(), geometry(), initialize(), and typeIndex().