ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::GeoModelTree::VolumePublisher Struct Reference

Helper struct to manage the list of published full physical volumes. More...

#include </home/runner/work/acts/acts/Plugins/GeoModel/include/ActsPlugins/GeoModel/GeoModelTree.hpp>

Public Types

using PublisherMap_t = std::unordered_map<std::string, VolumeMap_t>
 Abrivation of the published map per system.
using VolumeMap_t = std::map<std::string, FpvConstLink>
 Abrivation of the published full physical volumes.

Public Member Functions

 VolumePublisher ()=default
 Default constructor.
 VolumePublisher (const std::shared_ptr< GeoModelIO::ReadGeoModel > &geoReader) noexcept
 Constructor taking an instance to the GeoModelReader.
const VolumeMap_tgetPublishedVol (const std::string &systemName)
 Returns the list of published full physical volume for a given subsystem.
void publishVolumes (const std::string &systemName, VolumeMap_t &&publishedVols)
 Publish a list of full physical volumes for a given subsystem.
const std::shared_ptr< GeoModelIO::ReadGeoModel > & reader () const
 Returns the pointer to the ReadGeoModel instance (might be invalid).

Detailed Description

Helper struct to manage the list of published full physical volumes.

These volumes have unique name tags and seed the construction of tracking volumes. The list of published full physical volumes are the name tags associated with a particular node in the GeoModel tree. The lists are usually separated by subdetector and are shipped together with the SQLite database. The latter is queried, if the geometry is constructed from an external file. If the geometry is built dynamically in memory, the VolumePublisher provides the mechanism to store and return the published volumes.

Member Typedef Documentation

◆ PublisherMap_t

Abrivation of the published map per system.

◆ VolumeMap_t

Abrivation of the published full physical volumes.

Constructor & Destructor Documentation

◆ VolumePublisher() [1/2]

ActsPlugins::GeoModelTree::VolumePublisher::VolumePublisher ( )
default

Default constructor.

◆ VolumePublisher() [2/2]

ActsPlugins::GeoModelTree::VolumePublisher::VolumePublisher ( const std::shared_ptr< GeoModelIO::ReadGeoModel > & geoReader)
explicitnoexcept

Constructor taking an instance to the GeoModelReader.

If the publisher does not know yet about the system, the published volumes are queried from the database

Member Function Documentation

◆ getPublishedVol()

const VolumeMap_t & ActsPlugins::GeoModelTree::VolumePublisher::getPublishedVol ( const std::string & systemName)

Returns the list of published full physical volume for a given subsystem.

Parameters
systemNameSystem of interest (e.g. Tracker, MS)

◆ publishVolumes()

void ActsPlugins::GeoModelTree::VolumePublisher::publishVolumes ( const std::string & systemName,
VolumeMap_t && publishedVols )

Publish a list of full physical volumes for a given subsystem.

Parameters
systemNameSubsystem name under which the list will be registered
publishedVolsList of volumes to publish.

◆ reader()

const std::shared_ptr< GeoModelIO::ReadGeoModel > & ActsPlugins::GeoModelTree::VolumePublisher::reader ( ) const

Returns the pointer to the ReadGeoModel instance (might be invalid).