FairRoot/PandaRoot
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
kdtree::KDTree Class Reference

#include <kdtree.h>

Public Member Functions

 KDTree (KDTreeArray &data_in, bool rearrange_in=true, int dim_in=-1)
 
 ~KDTree ()
 
void n_nearest_brute_force (std::vector< double > &qv, int nn, KDTreeResultVector &result)
 
void n_nearest (std::vector< double > &qv, int nn, KDTreeResultVector &result)
 
void n_nearest_around_point (int idxin, int correltime, int nn, KDTreeResultVector &result)
 
void r_nearest (std::vector< double > &qv, double r2, KDTreeResultVector &result)
 
void r_nearest_around_point (int idxin, int correltime, double r2, KDTreeResultVector &result)
 
int r_count (std::vector< double > &qv, double r2)
 
int r_count_around_point (int idxin, int correltime, double r2)
 

Public Attributes

const KDTreeArraythe_data
 
const int N
 
int dim
 
bool sort_results
 
const bool rearrange
 

Private Member Functions

void set_data (KDTreeArray &din)
 
void build_tree ()
 
KDTreeNodebuild_tree_for_range (int l, int u, KDTreeNode *parent)
 
void select_on_coordinate (int c, int k, int l, int u)
 
int select_on_coordinate_value (int c, double alpha, int l, int u)
 
void spread_in_coordinate (int c, int l, int u, interval &interv)
 

Private Attributes

KDTreeNoderoot
 
const KDTreeArraydata
 
std::vector< int > ind
 
KDTreeArray rearranged_data
 

Static Private Attributes

static const int bucketsize = 120
 

Friends

class KDTreeNode
 
class SearchRecord
 

Detailed Description

Definition at line 58 of file kdtree.h.

Constructor & Destructor Documentation

kdtree::KDTree::KDTree ( KDTreeArray data_in,
bool  rearrange_in = true,
int  dim_in = -1 
)
kdtree::KDTree::~KDTree ( )

Member Function Documentation

void kdtree::KDTree::build_tree ( )
private
KDTreeNode* kdtree::KDTree::build_tree_for_range ( int  l,
int  u,
KDTreeNode parent 
)
private
void kdtree::KDTree::n_nearest ( std::vector< double > &  qv,
int  nn,
KDTreeResultVector result 
)
void kdtree::KDTree::n_nearest_around_point ( int  idxin,
int  correltime,
int  nn,
KDTreeResultVector result 
)
void kdtree::KDTree::n_nearest_brute_force ( std::vector< double > &  qv,
int  nn,
KDTreeResultVector result 
)
int kdtree::KDTree::r_count ( std::vector< double > &  qv,
double  r2 
)
int kdtree::KDTree::r_count_around_point ( int  idxin,
int  correltime,
double  r2 
)
void kdtree::KDTree::r_nearest ( std::vector< double > &  qv,
double  r2,
KDTreeResultVector result 
)
void kdtree::KDTree::r_nearest_around_point ( int  idxin,
int  correltime,
double  r2,
KDTreeResultVector result 
)
void kdtree::KDTree::select_on_coordinate ( int  c,
int  k,
int  l,
int  u 
)
private
int kdtree::KDTree::select_on_coordinate_value ( int  c,
double  alpha,
int  l,
int  u 
)
private
void kdtree::KDTree::set_data ( KDTreeArray din)
private
void kdtree::KDTree::spread_in_coordinate ( int  c,
int  l,
int  u,
interval interv 
)
private

Friends And Related Function Documentation

friend class KDTreeNode
friend

Definition at line 114 of file kdtree.h.

friend class SearchRecord
friend

Definition at line 115 of file kdtree.h.

Member Data Documentation

const int kdtree::KDTree::bucketsize = 120
staticprivate

Definition at line 133 of file kdtree.h.

const KDTreeArray* kdtree::KDTree::data
private

Definition at line 121 of file kdtree.h.

int kdtree::KDTree::dim

Definition at line 71 of file kdtree.h.

std::vector<int> kdtree::KDTree::ind
private

Definition at line 125 of file kdtree.h.

const int kdtree::KDTree::N

Definition at line 70 of file kdtree.h.

const bool kdtree::KDTree::rearrange

Definition at line 73 of file kdtree.h.

KDTreeArray kdtree::KDTree::rearranged_data
private

Definition at line 129 of file kdtree.h.

KDTreeNode* kdtree::KDTree::root
private

Definition at line 119 of file kdtree.h.

bool kdtree::KDTree::sort_results

Definition at line 72 of file kdtree.h.

const KDTreeArray& kdtree::KDTree::the_data

Definition at line 60 of file kdtree.h.


The documentation for this class was generated from the following file: