8 #ifndef GEO_AUXDETCHANNELMAPALG_H
9 #define GEO_AUXDETCHANNELMAPALG_H
24 struct AuxDetGeometryData_t;
42 std::vector<geo::AuxDetGeo>
const& auxDets,
45 std::vector<geo::AuxDetGeo>
const& auxDets,
48 virtual size_t ChannelToAuxDet (std::vector<geo::AuxDetGeo>
const& auxDets,
49 std::string
const& detName,
50 uint32_t
const& channel)
const;
52 std::string
const& detName,
53 uint32_t
const& channel)
const;
59 std::vector<geo::AuxDetGeo>
const& auxDets,
61 size_t & sv)
const = 0;
64 std::string
const& auxDetName,
65 std::vector<geo::AuxDetGeo>
const& auxDets)
const = 0;
76 #endif // GEO_AUXDETCHANNELMAPALG_H
std::map< std::string, size_t > fNameToADGeo
map the names to the AuxDetGeo index
virtual size_t ChannelToAuxDet(std::vector< geo::AuxDetGeo > const &auxDets, std::string const &detName, uint32_t const &channel) const
std::map< size_t, std::vector< chanAndSV > > fADGeoToChannelAndSV
virtual const TVector3 AuxDetChannelToPosition(uint32_t const &channel, std::string const &auxDetName, std::vector< geo::AuxDetGeo > const &auxDets) const =0
virtual ~AuxDetChannelMapAlg()=default
virtual void Initialize(AuxDetGeometryData_t &geodata)=0
virtual size_t NearestAuxDet(const double *point, std::vector< geo::AuxDetGeo > const &auxDets, double tolerance=0) const
virtual void Uninitialize()=0
std::pair< uint32_t, size_t > chanAndSV
virtual std::pair< size_t, size_t > ChannelToSensitiveAuxDet(std::vector< geo::AuxDetGeo > const &auxDets, std::string const &detName, uint32_t const &channel) const
std::map< size_t, std::string > fADGeoToName
map the AuxDetGeo index to the name
virtual uint32_t PositionToAuxDetChannel(double const worldLoc[3], std::vector< geo::AuxDetGeo > const &auxDets, size_t &ad, size_t &sv) const =0
virtual size_t NearestSensitiveAuxDet(const double *point, std::vector< geo::AuxDetGeo > const &auxDets, size_t &ad, double tolerance=0) const