![]() |
LArSoft
v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
|
Extracts of LArSoft geometry information from ROOT. More...
#include "GeometryBuilderStandard.h"
Classes | |
struct | Config |
Configuration parameters. More... | |
Public Types | |
using | AuxDetSensitive_t = GeoColl_t< AuxDetSensitiveGeo > |
using | OpDets_t = GeoColl_t< OpDetGeo > |
using | TPCs_t = GeoColl_t< TPCGeo > |
using | Path_t = 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 | |
GeometryBuilderStandard (fhicl::Table< Config > const &config) | |
Auxiliary detector information | |
Name of the optical detector nodes. | |
AuxDetGeo | makeAuxDet (Path_t &path) const |
Constructs a geo::AuxDetGeo from the current node of the path . More... | |
AuxDets_t | doExtractAuxiliaryDetectors (Path_t &path) const override |
Auxiliary detector sensitive volume information | |
AuxDetSensitive_t | extractAuxDetSensitive (Path_t &path) const |
Looks for all auxiliary detectors under the specified path. More... | |
Cryostat information | |
CryostatGeo | makeCryostat (Path_t &path) const |
Constructs a geo::CryostatGeo from the current node of the path . More... | |
Cryostats_t | doExtractCryostats (Path_t &path) const override |
Optical detector information | |
OpDets_t | extractOpDets (Path_t &path) const |
Looks for all optical detectors under the specified path. More... | |
TPC information | |
TPCs_t | extractTPCs (Path_t &path) const |
Looks for all TPCs under the specified path. More... | |
TPCGeo | makeTPC (Path_t &path) const |
Constructs a geo::TPCGeo from the current node of the path . More... | |
Public Attributes | |
GeometryExtractor | fExtractObjects |
std::string | fOpDetGeoName |
Cryostat information | |
using | Cryostats_t = GeoColl_t< CryostatGeo > |
Collection of cryostat information objects. More... | |
Cryostats_t | extractCryostats (Path_t path) const |
Looks for all cryostats under the specified path. More... | |
Auxiliary detector information | |
using | AuxDets_t = GeoColl_t< AuxDetGeo > |
Collection of auxiliary detector information objects. More... | |
AuxDets_t | extractAuxiliaryDetectors (Path_t path) const |
Looks for all auxiliary detectors under the specified path. More... | |
Extracts of LArSoft geometry information from ROOT.
The builder manages several components, each devoted to the extraction of a specific type of geometry object (e.g. cryostat, or wire plane within a TPC).
This builder does not extend the interface of geo::GeometryBuilder
, but it defines an interface that other builder classes can override to customize single elements of the build. As long as the interface is complied to, the different components are interchangeable.
If instead a different interface is needed for one component, the parent component needs to be customised too. For example, if the signature of doExtractPlanes()
is changed, also doMakePlane()
needs to be customized to correctly call the previous. In that case, take care of deleting the inherited interface to avoid confusion and errors.
The internal structure of the builder follows the pattern already employed in the base class. The base class defines both the public interface and the implementation, but it separates the two leaving the former as non-virtual functions, and the latter as virtual functions accessible only by derived classes.
Definition at line 53 of file GeometryBuilderStandard.h.
|
inherited |
Collection of auxiliary detector information objects.
Definition at line 82 of file GeometryBuilder.h.
Definition at line 72 of file GeometryBuilderStandard.h.
|
inherited |
Collection of cryostat information objects.
Definition at line 62 of file GeometryBuilder.h.
|
inherited |
Type of direct collection of geometry objects.
Definition at line 47 of file GeometryBuilder.h.
Definition at line 73 of file GeometryBuilderStandard.h.
|
inherited |
Identification of a single node in ROOT geometry.
Definition at line 43 of file GeometryBuilder.h.
Definition at line 74 of file GeometryBuilderStandard.h.
|
explicit |
Definition at line 129 of file GeometryBuilderStandard.cxx.
|
overridevirtual |
Core implementation of extractCryostats()
.
The actual algorithm is specialization of doExtractGeometryObjects()
.
Implements geo::GeometryBuilder.
Definition at line 134 of file GeometryBuilderStandard.cxx.
References fExtractObjects, and makeAuxDet().
|
overridevirtual |
Core implementation of extractCryostats()
.
The actual algorithm is specialization of doExtractGeometryObjects()
.
Implements geo::GeometryBuilder.
Definition at line 161 of file GeometryBuilderStandard.cxx.
References fExtractObjects, and makeCryostat().
auto geo::GeometryBuilderStandard::extractAuxDetSensitive | ( | Path_t & | path | ) | const |
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.
path
is allowed to change during processing. Definition at line 151 of file GeometryBuilderStandard.cxx.
References fExtractObjects.
Referenced by makeAuxDet().
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 93 of file GeometryBuilder.h.
References geo::GeometryBuilder::doExtractAuxiliaryDetectors(), and geo::GeometryBuilder::doExtractCryostats().
Referenced by geo::AuxDetGeometryCore::LoadGeometryFile().
|
inlineinherited |
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 72 of file GeometryBuilder.h.
References geo::GeometryBuilder::doExtractCryostats().
auto geo::GeometryBuilderStandard::extractOpDets | ( | Path_t & | path | ) | const |
Looks for all optical detectors under the specified path.
path | path pointing to the starting node |
Definition at line 179 of file GeometryBuilderStandard.cxx.
References fExtractObjects, and fOpDetGeoName.
Referenced by makeCryostat().
auto geo::GeometryBuilderStandard::extractTPCs | ( | Path_t & | path | ) | const |
Looks for all TPCs under the specified path.
path | path pointing to the starting node |
Each TPC has its own wire planes already in.
Definition at line 190 of file GeometryBuilderStandard.cxx.
References fExtractObjects, and makeTPC().
Referenced by makeCryostat().
geo::AuxDetGeo geo::GeometryBuilderStandard::makeAuxDet | ( | Path_t & | path | ) | const |
Constructs a geo::AuxDetGeo
from the current node of the path
.
Definition at line 143 of file GeometryBuilderStandard.cxx.
References geo::GeoNodePath::current(), geo::GeoNodePath::currentTransformation(), and extractAuxDetSensitive().
Referenced by doExtractAuxiliaryDetectors().
geo::CryostatGeo geo::GeometryBuilderStandard::makeCryostat | ( | Path_t & | path | ) | const |
Constructs a geo::CryostatGeo
from the current node of the path
.
Definition at line 170 of file GeometryBuilderStandard.cxx.
References geo::GeoNodePath::current(), geo::GeoNodePath::currentTransformation(), extractOpDets(), and extractTPCs().
Referenced by doExtractCryostats().
geo::TPCGeo geo::GeometryBuilderStandard::makeTPC | ( | Path_t & | path | ) | const |
Constructs a geo::TPCGeo
from the current node of the path
.
Definition at line 199 of file GeometryBuilderStandard.cxx.
References geo::GeoNodePath::current_entry(), geo::GeoNodePath::currentTransformation(), geo::vect::dot(), fExtractObjects, geo::PlaneGeo::GetBoxCenter(), recob::tracking::makePlane(), geo::makeTransformationMatrix(), geo::TPCGeo::NodeForActiveVolume(), geo::vect::normalize(), and geo::vect::toPoint().
Referenced by extractTPCs().
GeometryExtractor geo::GeometryBuilderStandard::fExtractObjects |
Definition at line 76 of file GeometryBuilderStandard.h.
Referenced by doExtractAuxiliaryDetectors(), doExtractCryostats(), extractAuxDetSensitive(), extractOpDets(), extractTPCs(), and makeTPC().
std::string geo::GeometryBuilderStandard::fOpDetGeoName |
Definition at line 77 of file GeometryBuilderStandard.h.
Referenced by extractOpDets().