MarlinMT  0.1.0
marlinmt::DD4hepGeometry Class Reference

DD4hepGeometry class Responsible for loading DD4hep geometry in MarlinMT. More...

Inherits marlinmt::GeometryPlugin.

Public Member Functions

 DD4hepGeometry (const DD4hepGeometry &)=delete
 
DD4hepGeometryoperator= (const DD4hepGeometry &)=delete
 
 DD4hepGeometry ()
 
- Public Member Functions inherited from marlinmt::GeometryPlugin
 GeometryPlugin ()=delete
 
virtual ~GeometryPlugin ()=default
 
 GeometryPlugin (const GeometryPlugin &)=delete
 
GeometryPluginoperator= (const GeometryPlugin &)=delete
 
void print () const
 Print the complete geometry plugin description. 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
 

Protected Member Functions

void loadGeometry ()
 Load the geometry. More...
 
const void * handle () const
 Get a handle on the geometry instance. More...
 
void destroy ()
 Cleanup geometry. More...
 
std::type_index typeIndex () const
 Get a type index object from the geometry handle. More...
 
void dumpGeometry () const
 Dump the geometry in the console. More...
 
- Protected Member Functions inherited from marlinmt::GeometryPlugin
 GeometryPlugin (const std::string &gtype)
 Constructor. More...
 
virtual void initialize () override
 Init the geometry plugin. More...
 

Private Member Functions

void printDetectorData (dd4hep::DetElement det) const
 
void printDetectorSets (const std::string &name, unsigned int includeFlag, unsigned int excludeFlag) const
 

Private Attributes

StringParameter _compactFile
 
BoolParameter _dumpDetectorData
 
BoolParameter _dumpDetectorSurfaces
 

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::GeometryPlugin
BoolParameter _dumpGeometry {*this, "DumpGeometry", "Whether to dump the geometry on creation", false}
 Whether to dump the geometry on creation. More...
 
- 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

DD4hepGeometry class Responsible for loading DD4hep geometry in MarlinMT.

Definition at line 26 of file DD4hepGeometry.cc.

Constructor & Destructor Documentation

◆ DD4hepGeometry() [1/2]

marlinmt::DD4hepGeometry::DD4hepGeometry ( const DD4hepGeometry )
delete

◆ DD4hepGeometry() [2/2]

marlinmt::DD4hepGeometry::DD4hepGeometry ( )

Definition at line 59 of file DD4hepGeometry.cc.

References marlinmt::Component::setDescription().

Member Function Documentation

◆ destroy()

void marlinmt::DD4hepGeometry::destroy ( )
protectedvirtual

Cleanup geometry.

Implements marlinmt::GeometryPlugin.

Definition at line 79 of file DD4hepGeometry.cc.

◆ dumpGeometry()

void marlinmt::DD4hepGeometry::dumpGeometry ( ) const
protectedvirtual

◆ handle()

const void * marlinmt::DD4hepGeometry::handle ( ) const
protectedvirtual

Get a handle on the geometry instance.

Implements marlinmt::GeometryPlugin.

Definition at line 73 of file DD4hepGeometry.cc.

◆ loadGeometry()

void marlinmt::DD4hepGeometry::loadGeometry ( )
protectedvirtual

Load the geometry.

Implements marlinmt::GeometryPlugin.

Definition at line 66 of file DD4hepGeometry.cc.

References _compactFile.

◆ operator=()

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

◆ printDetectorData()

void marlinmt::DD4hepGeometry::printDetectorData ( dd4hep::DetElement  det) const
private

Definition at line 91 of file DD4hepGeometry.cc.

References marlinmt::Component::_logger.

Referenced by dumpGeometry().

◆ printDetectorSets()

void marlinmt::DD4hepGeometry::printDetectorSets ( const std::string &  name,
unsigned int  includeFlag,
unsigned int  excludeFlag 
) const
private

◆ typeIndex()

std::type_index marlinmt::DD4hepGeometry::typeIndex ( ) const
protectedvirtual

Get a type index object from the geometry handle.

Implements marlinmt::GeometryPlugin.

Definition at line 85 of file DD4hepGeometry.cc.

Member Data Documentation

◆ _compactFile

StringParameter marlinmt::DD4hepGeometry::_compactFile
private
Initial value:
{*this, "CompactFile",
"The DD4hep geometry compact XML file" }

Definition at line 46 of file DD4hepGeometry.cc.

Referenced by loadGeometry().

◆ _dumpDetectorData

BoolParameter marlinmt::DD4hepGeometry::_dumpDetectorData
private
Initial value:
{*this, "DumpDetectorData",
"Whether to dump detector data while dumping the geometry", false }

Definition at line 49 of file DD4hepGeometry.cc.

Referenced by dumpGeometry().

◆ _dumpDetectorSurfaces

BoolParameter marlinmt::DD4hepGeometry::_dumpDetectorSurfaces
private
Initial value:
{*this, "DumpDetectorSurfaces",
"Whether to dump surfaces while dumping the geometry", false }

Definition at line 52 of file DD4hepGeometry.cc.

Referenced by dumpGeometry().


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