#include <TiledEtaPhiMap.h>
Public Types | |
typedef Tile< POINT, DIST2 > | tile_t |
Public Member Functions | |
void | init (double rmax) |
void | insert (POINT &p) |
std::vector< POINT > | pointsInDr (POINT &p, double r) const |
retrieve all points within deltaR of p. WARNING !! wrong results if r>rmax ! | |
virtual void | clear () |
virtual void | reset () |
unsigned int | size () const |
void | setEtaRange (double r) |
Protected Member Functions | |
size_t | tileIndex (POINT &p) const |
index of the tile containing p | |
size_t | tileIndex_i (int ix, int iy) const |
retrieve the tile index from its integer coordinates. | |
Protected Attributes | |
double | m_etarange |
double | m_halfetarange |
double | m_rmax |
size_t | m_ndivX |
size_t | m_ndivY |
double | m_sizeX |
double | m_sizeY |
unsigned int | m_size |
std::vector< tile_t > | m_tiles |
An eta-phi map providing a relatively fast way of retrieving points at a given distance of a point in the plan (cylinder in this case). It works by simply dividing the plan in rectangular tiles of identical size and restricting the search only in a tile and its neighbours. IMPORTANT : the search is accurate only up to distance rmax where rmax is given to the init() function.