LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ChannelMapSetupTool.h
Go to the documentation of this file.
1 
10 #ifndef LARCORE_GEOMETRY_CHANNELMAPSETUPTOOL_H
11 #define LARCORE_GEOMETRY_CHANNELMAPSETUPTOOL_H
12 
13 // LArSoft libraries
15 
16 namespace geo {
17 
25  public:
26  virtual ~ChannelMapSetupTool() noexcept = default;
27 
37  std::unique_ptr<geo::ChannelMapAlg> setupChannelMap() { return doChannelMap(); }
38 
39  protected:
40  // --- BEGIN -- Virtual interface ------------------------------------------
43 
45  virtual std::unique_ptr<geo::ChannelMapAlg> doChannelMap() = 0;
46 
48  // --- END -- Virtual interface --------------------------------------------
49 
50  }; // class ChannelMapSetupTool
51 
52 } // namespace geo
53 
54 #endif // LARCORE_GEOMETRY_CHANNELMAPSETUPTOOL_H
Interface for a tool creating a channel mapping object.
std::unique_ptr< geo::ChannelMapAlg > setupChannelMap()
Returns a new instance of the channel mapping.
virtual ~ChannelMapSetupTool() noexcept=default
virtual std::unique_ptr< geo::ChannelMapAlg > doChannelMap()=0
Returns a pointer to the channel mapping.
Interface to algorithm class for a specific detector channel mapping.
Namespace collecting geometry-related classes utilities.