LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
AuxDetExptGeoHelperInterface.h
Go to the documentation of this file.
1 
21 
22 #ifndef GEO_AuxDetExptGeoHelperInterface_h
23 #define GEO_AuxDetExptGeoHelperInterface_h
24 
25 
26 // framework libraries
28 #include "fhiclcpp/ParameterSet.h"
29 
30 // C/C++ standard libraries
31 #include <memory> // std::shared_ptr<>
32 #include <vector>
33 
34 
35 // prototypes of geometry classes
36 namespace geo
37 {
38  class AuxDetChannelMapAlg;
39  class AuxDetGeometryCore;
40 }
41 
42 namespace geo
43 {
44 
62  {
63  public:
64  using AuxDetChannelMapAlgPtr_t = std::shared_ptr<const AuxDetChannelMapAlg>;
65 
67  virtual ~AuxDetExptGeoHelperInterface() = default;
68 
79  void ConfigureAuxDetChannelMapAlg(fhicl::ParameterSet const & sortingParameters,
81 
86 
87  private:
88 
90  virtual
91  void doConfigureAuxDetChannelMapAlg(fhicl::ParameterSet const & sortingParameters,
92  geo::AuxDetGeometryCore* geom) = 0;
93 
95  virtual
97 
98  }; // end ExptGeoHelperInterface class declaration
99 
100 
101 
102  //-------------------------------------------------------------------------------------------
103 
104  inline
106  (fhicl::ParameterSet const& sortingParameters, geo::AuxDetGeometryCore* geom)
107  {
108  doConfigureAuxDetChannelMapAlg(sortingParameters, geom);
109  }
110 
111  inline
114  {
115  return doGetAuxDetChannelMapAlg();
116  }
117 }
118 
120 
121 #endif // GEO_ExptGeoHelperInterface_h
122 
void ConfigureAuxDetChannelMapAlg(fhicl::ParameterSet const &sortingParameters, geo::AuxDetGeometryCore *geom)
Configure and initialize the channel map.
AuxDetChannelMapAlgPtr_t GetAuxDetChannelMapAlg() const
virtual AuxDetChannelMapAlgPtr_t doGetAuxDetChannelMapAlg() const =0
Returns the ChannelMapAlg.
virtual void doConfigureAuxDetChannelMapAlg(fhicl::ParameterSet const &sortingParameters, geo::AuxDetGeometryCore *geom)=0
Implementation of ConfigureChannelMapAlg (pure virtual)
Description of geometry of one set of auxiliary detectors.
virtual ~AuxDetExptGeoHelperInterface()=default
Virtual destructor; does nothing.
std::shared_ptr< const AuxDetChannelMapAlg > AuxDetChannelMapAlgPtr_t
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
Definition: ServiceMacros.h:99
Namespace collecting geometry-related classes utilities.
Interface to a service with detector-specific geometry knowledge.