LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ExptGeoHelperInterface.h
Go to the documentation of this file.
1 #ifndef GEO_ExptGeoHelperInterface_h
21 #define GEO_ExptGeoHelperInterface_h
22 
23 // LArSoft libraries
25 
26 // framework libraries
28 namespace fhicl {
29  class ParameterSet;
30 }
31 
32 // C/C++ standard libraries
33 #include <memory> // std::unique_ptr<>
34 #include <string>
35 
36 namespace geo {
37 
56  public:
57  using ChannelMapAlgPtr_t = std::unique_ptr<ChannelMapAlg>;
58 
60  virtual ~ExptGeoHelperInterface() = default;
61 
72  std::string const& detectorName) const
73  {
74  return doConfigureChannelMapAlg(sortingParameters, detectorName);
75  }
76 
77  private:
78  virtual ChannelMapAlgPtr_t doConfigureChannelMapAlg(
79  fhicl::ParameterSet const& sortingParameters,
80  std::string const& detectorName) const = 0;
81 
82  }; // end ExptGeoHelperInterface class declaration
83 
84 }
85 
87 
88 #endif // GEO_ExptGeoHelperInterface_h
Interface to a service with detector-specific geometry knowledge.
std::string detectorName
std::unique_ptr< ChannelMapAlg > ChannelMapAlgPtr_t
ChannelMapAlgPtr_t ConfigureChannelMapAlg(fhicl::ParameterSet const &sortingParameters, std::string const &detectorName) const
Configure and initialize the channel map.
parameter set interface
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
Interface to algorithm class for a specific detector channel mapping.
Namespace collecting geometry-related classes utilities.