LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
Geometry.h
Go to the documentation of this file.
1 
16 #ifndef GEO_GEOMETRY_H
17 #define GEO_GEOMETRY_H
18 
19 // LArSoft libraries
21 #include "larcore/CoreUtils/ServiceUtil.h" // not used; for user's convenience
22 
23 // the following are included for convenience only
31 
32 // framework libraries
33 #include "fhiclcpp/ParameterSet.h"
37 #include "art/Framework/Services/Registry/ServiceHandle.h" // for the convenience of includers
38 
39 // ROOT libraries
40 // #include <TString.h>
41 // #include <TVector3.h>
42 // #include <Rtypes.h>
43 
44 // C/C++ standard libraries
45 #include <vector>
46 #include <map>
47 #include <set>
48 #include <cstring>
49 #include <memory>
50 #include <iterator> // std::forward_iterator_tag
51 
52 
53 namespace geo {
54 
110  class Geometry: public GeometryCore
111  {
112  public:
113 
115 
117 
119  void preBeginRun(art::Run const& run);
120 
122  provider_type const* provider() const
123  { return static_cast<provider_type const*>(this); }
124 
125  private:
126 
128  void LoadNewGeometry(
129  std::string gdmlfile, std::string rootfile,
130  bool bForceReload = false
131  );
132 
133  void InitializeChannelMap();
134 
135  std::string fRelPath;
136  bool fDisableWiresInG4;
138  bool fForceUseFCLOnly;
142  };
143 
144 } // namespace geo
145 
147 
148 // check that the requirements for geo::Geometry are satisfied
149 template struct lar::details::ServiceRequirementsChecker<geo::Geometry>;
150 
151 
152 #endif // GEO_GEOMETRY_H
Utilities related to art service access.
Encapsulate the construction of a single cyostat.
fhicl::ParameterSet fSortingParameters
Parameter set to define the channel map sorting.
Definition: Geometry.h:141
#define DECLARE_ART_SERVICE(svc, scope)
Definition: ServiceMacros.h:91
bool fDisableWiresInG4
Definition: Geometry.h:137
Geometry(fhicl::ParameterSet const &pset, art::ActivityRegistry &reg)
void preBeginRun(art::Run const &run)
Updates the geometry if needed at the beginning of each new run.
Definition: Run.h:30
Access the description of detector geometry.
bool fForceUseFCLOnly
Definition: Geometry.h:139
GeometryCore(fhicl::ParameterSet const &pset)
Initialize geometry from a given configuration.
std::string fRelPath
Definition: Geometry.h:135
void LoadNewGeometry(std::string gdmlfile, std::string rootfile, bool bForceReload=false)
Expands the provided paths and loads the geometry description(s)
The geometry of one entire detector, as served by art.
Definition: Geometry.h:110
Description of geometry of one entire detector.
Encapsulate the geometry of an auxiliary detector.
Encapsulate the geometry of a wire.
Encapsulate the geometry of an optical detector.
provider_type const * provider() const
Returns a pointer to the geometry service provider.
Definition: Geometry.h:122
Encapsulate the construction of a single detector plane.
LArSoft-specific namespace.
Interface to algorithm class for a specific detector channel mapping.
Namespace collecting geometry-related classes utilities.
void InitializeChannelMap()
Encapsulate the construction of a single detector plane.