Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::KDTreeNode Class Reference

A node in the k-d tree. More...

#include <KDTree.hh>

Public Member Functions

 KDTreeNode (int dim)
 Constructor.
 ~KDTreeNode ()
 Destructor.

Private Member Functions

void search_n (const int idx0, const int nd, const unsigned int nn, double &r2, const std::vector< double > &qv, const KDTree &tree, std::priority_queue< KDTreeResult > &res) const
void search_r (const int idx0, const int nd, const double r2, const std::vector< double > &qv, const KDTree &tree, std::vector< KDTreeResult > &res) const
bool box_in_search_range (const double r2, const std::vector< double > &qv) const
void process_terminal_node_n (const int idx0, const int nd, const unsigned int nn, double &r2, const std::vector< double > &qv, const KDTree &tree, std::priority_queue< KDTreeResult > &res) const
void process_terminal_node_r (const int idx0, const int nd, const double r2, const std::vector< double > &qv, const KDTree &tree, std::vector< KDTreeResult > &res) const

Private Attributes

std::size_t cut_dim = 0
double cut_val = 0.
double cut_val_left = 0.
double cut_val_right = 0.
int m_l = 0
int m_u = 0
std::vector< std::array< double, 2 > > box
KDTreeNodeleft = nullptr
KDTreeNoderight = nullptr

Friends

class KDTree

Detailed Description

A node in the k-d tree.

Definition at line 102 of file KDTree.hh.

Constructor & Destructor Documentation

◆ KDTreeNode()

Garfield::KDTreeNode::KDTreeNode ( int dim)

Constructor.

◆ ~KDTreeNode()

Garfield::KDTreeNode::~KDTreeNode ( )

Destructor.

Member Function Documentation

◆ box_in_search_range()

bool Garfield::KDTreeNode::box_in_search_range ( const double r2,
const std::vector< double > & qv ) const
private

◆ process_terminal_node_n()

void Garfield::KDTreeNode::process_terminal_node_n ( const int idx0,
const int nd,
const unsigned int nn,
double & r2,
const std::vector< double > & qv,
const KDTree & tree,
std::priority_queue< KDTreeResult > & res ) const
private

◆ process_terminal_node_r()

void Garfield::KDTreeNode::process_terminal_node_r ( const int idx0,
const int nd,
const double r2,
const std::vector< double > & qv,
const KDTree & tree,
std::vector< KDTreeResult > & res ) const
private

◆ search_n()

void Garfield::KDTreeNode::search_n ( const int idx0,
const int nd,
const unsigned int nn,
double & r2,
const std::vector< double > & qv,
const KDTree & tree,
std::priority_queue< KDTreeResult > & res ) const
private

◆ search_r()

void Garfield::KDTreeNode::search_r ( const int idx0,
const int nd,
const double r2,
const std::vector< double > & qv,
const KDTree & tree,
std::vector< KDTreeResult > & res ) const
private

◆ KDTree

friend class KDTree
friend

Definition at line 110 of file KDTree.hh.

Member Data Documentation

◆ box

std::vector<std::array<double, 2> > Garfield::KDTreeNode::box
private

Definition at line 122 of file KDTree.hh.

◆ cut_dim

std::size_t Garfield::KDTreeNode::cut_dim = 0
private

Definition at line 113 of file KDTree.hh.

◆ cut_val

double Garfield::KDTreeNode::cut_val = 0.
private

Definition at line 115 of file KDTree.hh.

◆ cut_val_left

double Garfield::KDTreeNode::cut_val_left = 0.
private

Definition at line 116 of file KDTree.hh.

◆ cut_val_right

double Garfield::KDTreeNode::cut_val_right = 0.
private

Definition at line 117 of file KDTree.hh.

◆ left

KDTreeNode* Garfield::KDTreeNode::left = nullptr
private

Definition at line 125 of file KDTree.hh.

◆ m_l

int Garfield::KDTreeNode::m_l = 0
private

Definition at line 119 of file KDTree.hh.

◆ m_u

int Garfield::KDTreeNode::m_u = 0
private

Definition at line 120 of file KDTree.hh.

◆ right

KDTreeNode* Garfield::KDTreeNode::right = nullptr
private

Definition at line 126 of file KDTree.hh.


The documentation for this class was generated from the following file:
  • /builds/garfield/docs/source/Include/Garfield/KDTree.hh