LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
GeometryBuilderStandard.h
Go to the documentation of this file.
1 #ifndef LARCOREALG_GEOMETRY_GEOMETRYBUILDERSTANDARD_H
2 #define LARCOREALG_GEOMETRY_GEOMETRYBUILDERSTANDARD_H
3 
4 // LArSoft libraries
12 
13 // support libraries
14 #include "fhiclcpp/types/Atom.h"
15 #include "fhiclcpp/types/Table.h"
17 
18 // C++ standard library
19 #include <string>
20 
21 namespace geo {
22 
54  public:
56  struct Config {
57 
58  using Name = fhicl::Name;
60 
63  Name("opDetGeoName"),
64  Comment("the start of the name of optical detector GDML nodes"),
65  "volOpDetSensitive" // default
66  };
67 
68  }; // struct Config
69 
70  explicit GeometryBuilderStandard(fhicl::Table<Config> const& config);
71 
75 
77  std::string fOpDetGeoName;
78 
79  // --- BEGIN Auxiliary detector information --------------------------------
82 
83  // extractAuxiliaryDetectors() and AuxDets_t are inherited public interface
84 
86  AuxDetGeo makeAuxDet(Path_t& path) const;
87 
91  AuxDets_t doExtractAuxiliaryDetectors(Path_t& path) const override;
92 
94  // --- END Auxiliary detector information ----------------------------------
95 
96  // --- BEGIN Auxiliary detector sensitive volume information ---------------
99 
112 
114  // --- END Auxiliary detector sensitive volume information -----------------
115 
116  // --- BEGIN Cryostat information ------------------------------------------
119 
120  // extractCryostats() and Cryostats_t are inherited public interface
121 
123  CryostatGeo makeCryostat(Path_t& path) const;
124 
128  Cryostats_t doExtractCryostats(Path_t& path) const override;
129 
131  // --- END Cryostat information --------------------------------------------
132 
133  // --- BEGIN Optical detector information ----------------------------------
136 
142  OpDets_t extractOpDets(Path_t& path) const;
143 
145  // --- END Optical detector information ------------------------------------
146 
147  // --- BEGIN TPC information -----------------------------------------------
150 
158  TPCs_t extractTPCs(Path_t& path) const;
159 
161  TPCGeo makeTPC(Path_t& path) const;
162 
164  // --- END TPC information -------------------------------------------------
165 
166  }; // class GeometryBuilderStandard
167 
168 } // namespace geo
169 
170 #endif // LARCOREALG_GEOMETRY_GEOMETRYBUILDERSTANDARD_H
fhicl::TableFragment< GeometryExtractor::Config > extractor
CryostatGeo makeCryostat(Path_t &path) const
Constructs a geo::CryostatGeo from the current node of the path.
Encapsulate the construction of a single cyostat .
Encapsulate the geometry of the sensitive portion of an auxiliary detector .
Implementation of geometry extractor.
GeoColl_t< AuxDetSensitiveGeo > AuxDetSensitive_t
Geometry information for a single TPC.
Definition: TPCGeo.h:33
TPCs_t extractTPCs(Path_t &path) const
Looks for all TPCs under the specified path.
Interface for geometry extractor classes.
GeoColl_t< AuxDetGeo > AuxDets_t
Collection of auxiliary detector information objects.
AuxDetGeo makeAuxDet(Path_t &path) const
Constructs a geo::AuxDetGeo from the current node of the path.
Geometry information for a single cryostat.
Definition: CryostatGeo.h:42
OpDets_t extractOpDets(Path_t &path) const
Looks for all optical detectors under the specified path.
GeoColl_t< CryostatGeo > Cryostats_t
Collection of cryostat information objects.
GeometryBuilderStandard(fhicl::Table< Config > const &config)
Object for extracting geometry objects from the GDML file.
Cryostats_t doExtractCryostats(Path_t &path) const override
Encapsulate the geometry of an auxiliary detector.
AuxDets_t doExtractAuxiliaryDetectors(Path_t &path) const override
Encapsulate the geometry of an optical detector.
AuxDetSensitive_t extractAuxDetSensitive(Path_t &path) const
Looks for all auxiliary detectors under the specified path.
Manages the extraction of LArSoft geometry information from ROOT.
Representation of a node and its ancestry.
Definition: GeoNodePath.h:34
TPCGeo makeTPC(Path_t &path) const
Constructs a geo::TPCGeo from the current node of the path.
ROOT libraries.
Extracts of LArSoft geometry information from ROOT.
Encapsulate the construction of a single detector plane .
std::vector< GeoObj > GeoColl_t
Type of direct collection of geometry objects.