LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
geo::GeometryBuilder Class Referenceabstract

Manages the extraction of LArSoft geometry information from ROOT. More...

#include "GeometryBuilder.h"

Inheritance diagram for geo::GeometryBuilder:
geo::GeometryBuilderStandard geo::GeometryBuilderWireless

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...
 

Detailed Description

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.

Customization of geometry objects

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.

Member Typedef Documentation

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.

template<typename GeoObj >
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.

Constructor & Destructor Documentation

virtual geo::GeometryBuilder::~GeometryBuilder ( )
virtualdefault

Virtual destructor.

Member Function Documentation

virtual AuxDets_t geo::GeometryBuilder::doExtractAuxiliaryDetectors ( Path_t path)
protectedpure virtual

Custom implementation of extractAuxiliaryDetectors().

Implemented in geo::GeometryBuilderStandard.

Referenced by extractAuxiliaryDetectors().

virtual Cryostats_t geo::GeometryBuilder::doExtractCryostats ( Path_t path)
protectedpure virtual

Custom implementation of extractCryostats().

Implemented in geo::GeometryBuilderStandard.

Referenced by extractAuxiliaryDetectors(), and extractCryostats().

AuxDets_t geo::GeometryBuilder::extractAuxiliaryDetectors ( Path_t const &  path)
inline

Looks for all auxiliary detectors under the specified path.

Parameters
pathpath pointing to the starting node
Returns
a list of fully constructed auxiliary detectors

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().

113  {
114  auto myPath = path;
115  return doExtractAuxiliaryDetectors(myPath);
116  }
virtual AuxDets_t doExtractAuxiliaryDetectors(Path_t &path)=0
Custom implementation of extractAuxiliaryDetectors().
Cryostats_t geo::GeometryBuilder::extractCryostats ( Path_t const &  path)
inline

Looks for all cryostats under the specified path.

Parameters
pathpath pointing to the starting node
Returns
a list of fully constructed cryostats

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().

88  {
89  auto myPath = path;
90  return doExtractCryostats(myPath);
91  }
virtual Cryostats_t doExtractCryostats(Path_t &path)=0
Custom implementation of extractCryostats().

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