LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
WireReadoutSetupTool.h
Go to the documentation of this file.
1 
10 #ifndef LARCORE_GEOMETRY_WIREREADOUTSETUPTOOL_H
11 #define LARCORE_GEOMETRY_WIREREADOUTSETUPTOOL_H
12 
13 // LArSoft libraries
16 
17 namespace geo {
18 
26  public:
27  virtual ~WireReadoutSetupTool() noexcept = default;
28 
38  std::unique_ptr<geo::WireReadoutGeom> setupWireReadout(
39  geo::GeometryCore const* geom,
40  std::unique_ptr<WireReadoutSorter> sorter)
41  {
42  return doWireReadout(geom, std::move(sorter));
43  }
44 
45  protected:
46  // --- BEGIN -- Virtual interface ------------------------------------------
49 
51  virtual std::unique_ptr<geo::WireReadoutGeom> doWireReadout(
52  geo::GeometryCore const* geom,
53  std::unique_ptr<WireReadoutSorter> sorter) = 0;
54 
56  // --- END -- Virtual interface --------------------------------------------
57 
58  }; // class WireReadoutSetupTool
59 
60 } // namespace geo
61 
62 #endif // LARCORE_GEOMETRY_WIREREADOUTSETUPTOOL_H
Interface for a tool creating a channel mapping object.
virtual ~WireReadoutSetupTool() noexcept=default
std::unique_ptr< geo::WireReadoutGeom > setupWireReadout(geo::GeometryCore const *geom, std::unique_ptr< WireReadoutSorter > sorter)
Returns a new instance of the channel mapping.
Description of the physical geometry of one entire detector.
Definition: GeometryCore.h:91
ROOT libraries.
virtual std::unique_ptr< geo::WireReadoutGeom > doWireReadout(geo::GeometryCore const *geom, std::unique_ptr< WireReadoutSorter > sorter)=0
Returns a pointer to the channel mapping.
Interface to geometry for wire readouts .