25#ifndef LSST_JOINTCAL_FAST_FINDER_H
26#define LSST_JOINTCAL_FAST_FINDER_H
The base class for handling stars. Used by all matching routines.
Iterator meant to traverse objects within some limiting distance.
stars_element operator*() const
const FastFinder & finder
This is an auxillary class for matching objects from starlists.
decltype(stars)::const_iterator pstar
decltype(stars)::value_type stars_element
pstar locateYStart(pstar begin, pstar end, double yVal) const
void findRangeInSlice(int iSlice, double yStart, double yEnd, pstar &start, pstar &end) const
void print(std::ostream &out) const
mostly for debugging
std::shared_ptr< const BaseStar > findClosest(const Point &where, double maxDist, bool(*SkipIt)(const BaseStar &)=nullptr) const
Find the closest with some rejection capability.
const BaseStarList baselist
std::shared_ptr< const BaseStar > secondClosest(const Point &where, double maxDist, std::shared_ptr< const BaseStar > &closest, bool(*SkipIt)(const BaseStar &)=nullptr) const
Iterator beginScan(const Point &where, double maxDist) const
std::vector< unsigned > index
std::vector< std::shared_ptr< const BaseStar > > stars
pstar locateYEnd(pstar begin, pstar end, double yVal) const