9 #ifndef ICARUSCODE_GEOMETRY_GEOOBJECTSORTERPMTASTPC_H
10 #define ICARUSCODE_GEOMETRY_GEOOBJECTSORTERPMTASTPC_H
22 #include "fhiclcpp/types/Table.h"
23 #include "fhiclcpp/ParameterSet.h"
30 namespace icarus {
class GeoObjectSorterPMTasTPC; }
107 virtual void SortOpDets(std::vector<geo::OpDetGeo>& opDets)
const override
112 virtual void SortAuxDets(std::vector<geo::AuxDetGeo>& adgeo)
const override;
116 (std::vector<geo::AuxDetSensitiveGeo> & adsgeo)
const override;
125 static_assert(std::is_base_of_v<geo::GeoObjectSorter, icarus::GeoObjectSorterPMTasTPC>);
130 #endif // ICARUSCODE_GEOMETRY_GEOOBJECTSORTERPMTASTPC_H
virtual void SortAuxDetSensitive(std::vector< geo::AuxDetSensitiveGeo > &adsgeo) const override
Custom ICARUS sorting of CRT submodules.
An object with a begin and end iterator.
fhicl::Table< PMTsorter_t::Config > PMTsorterConfigTable
Class for approximate comparisons.
Interface to algorithm class for standard sorting of geo::XXXGeo objects.
virtual void SortOpDets(std::vector< geo::OpDetGeo > &opDets) const override
Sorts the specified optical detectors.
Sorter sorting PMT to follow the same order as TPC (standard).
Encapsulate the geometry of an optical detector.
GeoObjectSorterStandard(fhicl::ParameterSet const &p)
virtual void SortAuxDets(std::vector< geo::AuxDetGeo > &adgeo) const override
Custom ICARUS sorting of CRT.
PMTsorter_t fPMTsorter
PMT sorting algorithm.
Geometry obect sorter with PMT following TPC wire order.
void sort(std::vector< geo::OpDetGeo > &opDets) const
Sorts the specified optical detectors.
GeoObjectSorterPMTasTPC(fhicl::ParameterSet const &pset)
Constructor: passes the configuration to the base class.
Geometry sorter having PMT channels follow the same order as TPC.