LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
GeometryBuilder.h
Go to the documentation of this file.
1 
8 #ifndef LARCOREALG_GEOMETRY_GEOMETRYBUILDER_H
9 #define LARCOREALG_GEOMETRY_GEOMETRYBUILDER_H
10 
11 // LArSoft libraries
15 
16 // C++ standard library
17 #include <vector>
18 
19 namespace geo {
20 
40  public:
41  // --- BEGIN Data types ----------------------------------------------------
44 
46  template <typename GeoObj>
47  using GeoColl_t = std::vector<GeoObj>;
48 
49  // --- END Data types ------------------------------------------------------
50 
51  // --- BEGIN Constructors and destructor -----------------------------------
53  virtual ~GeometryBuilder() = default;
54 
55  // --- END Constructors and destructor -------------------------------------
56 
57  // --- BEGIN Cryostat information ------------------------------------------
60 
63 
72  Cryostats_t extractCryostats(Path_t path) const { return doExtractCryostats(path); }
73 
75  // --- END Cryostat information --------------------------------------------
76 
77  // --- BEGIN Auxiliary detector information --------------------------------
80 
83 
94  {
95  return doExtractAuxiliaryDetectors(path);
96  }
97 
99  // --- END Auxiliary detector information ----------------------------------
100 
101  // --- END Static utility methods ------------------------------------------
102 
103  private:
104  virtual Cryostats_t doExtractCryostats(Path_t& path) const = 0;
105  virtual AuxDets_t doExtractAuxiliaryDetectors(Path_t& path) const = 0;
106 
107  }; // class GeometryBuilder
108 
109 } // namespace geo
110 
111 #endif // LARCOREALG_GEOMETRY_GEOMETRYBUILDER_H
Encapsulate the construction of a single cyostat .
virtual Cryostats_t doExtractCryostats(Path_t &path) const =0
GeoColl_t< AuxDetGeo > AuxDets_t
Collection of auxiliary detector information objects.
Class representing a path in ROOT geometry.
GeoColl_t< CryostatGeo > Cryostats_t
Collection of cryostat information objects.
virtual ~GeometryBuilder()=default
Virtual destructor.
AuxDets_t extractAuxiliaryDetectors(Path_t path) const
Looks for all auxiliary detectors under the specified path.
Cryostats_t extractCryostats(Path_t path) const
Looks for all cryostats under the specified path.
Encapsulate the geometry of an auxiliary detector.
Manages the extraction of LArSoft geometry information from ROOT.
Representation of a node and its ancestry.
Definition: GeoNodePath.h:34
virtual AuxDets_t doExtractAuxiliaryDetectors(Path_t &path) const =0
ROOT libraries.
std::vector< GeoObj > GeoColl_t
Type of direct collection of geometry objects.