LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Manages the extraction of LArSoft geometry information from ROOT. More...
#include "GeometryBuilder.h"
Public Types | |
using | Path_t = geo::GeoNodePath |
Identification of a single node in ROOT geometry. More... | |
template<typename GeoObj > | |
using | GeoColl_t = std::vector< GeoObj > |
Type of direct collection of geometry objects. More... | |
Public Member Functions | |
virtual | ~GeometryBuilder ()=default |
Virtual destructor. More... | |
Protected Member Functions | |
virtual Cryostats_t | doExtractCryostats (Path_t &path)=0 |
Custom implementation of extractCryostats() . More... | |
virtual AuxDets_t | doExtractAuxiliaryDetectors (Path_t &path)=0 |
Custom implementation of extractAuxiliaryDetectors() . More... | |
Cryostat information | |
using | Cryostats_t = GeoColl_t< geo::CryostatGeo > |
Collection of cryostat information objects. More... | |
Cryostats_t | extractCryostats (Path_t const &path) |
Looks for all cryostats under the specified path. More... | |
Auxiliary detector information | |
using | AuxDets_t = GeoColl_t< geo::AuxDetGeo > |
Collection of auxiliary detector information objects. More... | |
AuxDets_t | extractAuxiliaryDetectors (Path_t const &path) |
Looks for all auxiliary detectors under the specified path. More... | |
Manages the extraction of LArSoft geometry information from ROOT.
The general interface only provides abstraction for the high level objects (cryostats and auxiliary detectors). The implementations can use a finer internal structure to address single subcomponents (e.g. wire planes).
Builder objects can be configured via FHiCL parameters.
This is an abstract interface.
The builders return collections of LArSoft geometry objects dynamically allocated. In this way, in future it will be possible to easily customize those objects for detector-specific needs. Note that as of LArSoft v08_06_00
, no polymorphism is actually implemented.
Definition at line 52 of file GeometryBuilder.h.
Collection of auxiliary detector information objects.
Definition at line 101 of file GeometryBuilder.h.
Collection of cryostat information objects.
Definition at line 76 of file GeometryBuilder.h.
using geo::GeometryBuilder::GeoColl_t = std::vector<GeoObj> |
Type of direct collection of geometry objects.
Definition at line 61 of file GeometryBuilder.h.
Identification of a single node in ROOT geometry.
Definition at line 57 of file GeometryBuilder.h.
|
virtualdefault |
Virtual destructor.
|
protectedpure virtual |
Custom implementation of extractAuxiliaryDetectors()
.
Implemented in geo::GeometryBuilderStandard.
Referenced by extractAuxiliaryDetectors().
|
protectedpure virtual |
Custom implementation of extractCryostats()
.
Implemented in geo::GeometryBuilderStandard.
Referenced by extractAuxiliaryDetectors(), and extractCryostats().
Looks for all auxiliary detectors under the specified path.
path | path pointing to the starting node |
The auxiliary detectors contain all their inner elements. The current node itself of the path is also considered as auxiliary detector candidate, then it is descended into.
Definition at line 112 of file GeometryBuilder.h.
References doExtractAuxiliaryDetectors(), and doExtractCryostats().
Referenced by geo::GeometryCore::BuildGeometry(), and geo::AuxDetGeometryCore::LoadGeometryFile().
|
inline |
Looks for all cryostats under the specified path.
path | path pointing to the starting node |
The cryostats contain all their inner elements. The current node itself of the path is also considered as cryostat candidate, then it is descended into.
Definition at line 87 of file GeometryBuilder.h.
References doExtractCryostats().
Referenced by geo::GeometryCore::BuildGeometry().