LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
AuxDetExptGeoHelperInterface.h
Go to the documentation of this file.
1 
21 #ifndef GEO_AuxDetExptGeoHelperInterface_h
22 #define GEO_AuxDetExptGeoHelperInterface_h
23 
24 // framework libraries
26 namespace fhicl {
27  class ParameterSet;
28 }
29 
30 // C/C++ standard libraries
31 #include <memory> // std::unique_ptr<>
32 #include <vector>
33 
34 // LArSoft includes
36 
37 namespace geo {
38 
56  public:
57  using AuxDetChannelMapAlgPtr_t = std::unique_ptr<AuxDetChannelMapAlg>;
58 
60  virtual ~AuxDetExptGeoHelperInterface() = default;
61 
72  AuxDetChannelMapAlgPtr_t ConfigureAuxDetChannelMapAlg(
73  fhicl::ParameterSet const& sortingParameters) const;
74 
75  private:
77  virtual AuxDetChannelMapAlgPtr_t doConfigureAuxDetChannelMapAlg(
78  fhicl::ParameterSet const& sortingParameters) const = 0;
79 
80  }; // end ExptGeoHelperInterface class declaration
81 
82  //-------------------------------------------------------------------------------------------
83 
85  AuxDetExptGeoHelperInterface::ConfigureAuxDetChannelMapAlg(
86  fhicl::ParameterSet const& sortingParameters) const
87  {
88  return doConfigureAuxDetChannelMapAlg(sortingParameters);
89  }
90 
91 }
92 
94 
95 #endif // GEO_ExptGeoHelperInterface_h
std::unique_ptr< AuxDetChannelMapAlg > AuxDetChannelMapAlgPtr_t
parameter set interface
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
Namespace collecting geometry-related classes utilities.
Interface to a service with detector-specific geometry knowledge.