LArSoft  v10_04_05
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

Public Types

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

virtual ~GeometryBuilder ()=default
 Virtual destructor. More...
 

Private Member Functions

virtual Cryostats_t doExtractCryostats (Path_t &path) const =0
 
virtual AuxDets_t doExtractAuxiliaryDetectors (Path_t &path) const =0
 

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

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 dynamically allocated LArSoft geometry objects. In this way, it is possible to customize those objects for detector-specific needs.

Definition at line 39 of file GeometryBuilder.h.

Member Typedef Documentation

Collection of auxiliary detector information objects.

Definition at line 82 of file GeometryBuilder.h.

Collection of cryostat information objects.

Definition at line 62 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 47 of file GeometryBuilder.h.

Identification of a single node in ROOT geometry.

Definition at line 43 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) const
privatepure virtual
virtual Cryostats_t geo::GeometryBuilder::doExtractCryostats ( Path_t path) const
privatepure virtual
AuxDets_t geo::GeometryBuilder::extractAuxiliaryDetectors ( Path_t  path) const
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 93 of file GeometryBuilder.h.

References doExtractAuxiliaryDetectors(), and doExtractCryostats().

Referenced by geo::AuxDetGeometryCore::LoadGeometryFile().

94  {
95  return doExtractAuxiliaryDetectors(path);
96  }
virtual AuxDets_t doExtractAuxiliaryDetectors(Path_t &path) const =0
Cryostats_t geo::GeometryBuilder::extractCryostats ( Path_t  path) const
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 72 of file GeometryBuilder.h.

References doExtractCryostats().

72 { return doExtractCryostats(path); }
virtual Cryostats_t doExtractCryostats(Path_t &path) const =0

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