LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
lar_cluster3d::kdTree::KdTreeNode Class Reference

define a kd tree node More...

#include "kdTree.h"

Public Types

enum  SplitAxis {
  xPlane, yPlane, zPlane, leaf,
  null
}
 

Public Member Functions

 KdTreeNode (SplitAxis axis, float axisVal, const KdTreeNode &left, const KdTreeNode &right)
 
 KdTreeNode (const reco::ClusterHit3D *hit)
 
 KdTreeNode ()
 
bool isLeafNode () const
 
bool isNullNode () const
 
SplitAxis getSplitAxis () const
 
float getAxisValue () const
 
const reco::ClusterHit3DgetClusterHit3D () const
 
const KdTreeNodeleftTree () const
 
const KdTreeNoderightTree () const
 

Private Attributes

SplitAxis m_splitAxis
 
float m_axisValue
 
const reco::ClusterHit3Dm_clusterHit3D
 
const KdTreeNodem_leftTree
 
const KdTreeNodem_rightTree
 

Detailed Description

define a kd tree node

Definition at line 107 of file kdTree.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

lar_cluster3d::kdTree::KdTreeNode::KdTreeNode ( SplitAxis  axis,
float  axisVal,
const KdTreeNode left,
const KdTreeNode right 
)
inline

Definition at line 117 of file kdTree.h.

117  :
118  m_splitAxis(axis),
119  m_axisValue(axisVal),
120  m_clusterHit3D(0),
121  m_leftTree(left),
123  {}
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
const KdTreeNode & m_leftTree
Definition: kdTree.h:154
const KdTreeNode & m_rightTree
Definition: kdTree.h:155
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:153
lar_cluster3d::kdTree::KdTreeNode::KdTreeNode ( const reco::ClusterHit3D hit)
inline

Definition at line 125 of file kdTree.h.

125  :
126  m_splitAxis(SplitAxis::leaf),
127  m_axisValue(0.),
128  m_clusterHit3D(hit),
129  m_leftTree(*this),
130  m_rightTree(*this)
131  {}
const KdTreeNode & m_leftTree
Definition: kdTree.h:154
const KdTreeNode & m_rightTree
Definition: kdTree.h:155
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:153
lar_cluster3d::kdTree::KdTreeNode::KdTreeNode ( )
inline

Definition at line 133 of file kdTree.h.

133  : m_splitAxis(SplitAxis::null),
134  m_axisValue(0.),
135  m_clusterHit3D(0),
136  m_leftTree(*this),
137  m_rightTree(*this)
138  {}
const KdTreeNode & m_leftTree
Definition: kdTree.h:154
const KdTreeNode & m_rightTree
Definition: kdTree.h:155
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:153

Member Function Documentation

float lar_cluster3d::kdTree::KdTreeNode::getAxisValue ( ) const
inline
const reco::ClusterHit3D* lar_cluster3d::kdTree::KdTreeNode::getClusterHit3D ( ) const
inline
SplitAxis lar_cluster3d::kdTree::KdTreeNode::getSplitAxis ( ) const
inline
bool lar_cluster3d::kdTree::KdTreeNode::isLeafNode ( ) const
inline
bool lar_cluster3d::kdTree::KdTreeNode::isNullNode ( ) const
inline

Definition at line 141 of file kdTree.h.

141 {return m_splitAxis == SplitAxis::null;}
const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::leftTree ( ) const
inline
const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::rightTree ( ) const
inline

Member Data Documentation

float lar_cluster3d::kdTree::KdTreeNode::m_axisValue
private

Definition at line 152 of file kdTree.h.

const reco::ClusterHit3D* lar_cluster3d::kdTree::KdTreeNode::m_clusterHit3D
private

Definition at line 153 of file kdTree.h.

const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::m_leftTree
private

Definition at line 154 of file kdTree.h.

const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::m_rightTree
private

Definition at line 155 of file kdTree.h.

SplitAxis lar_cluster3d::kdTree::KdTreeNode::m_splitAxis
private

Definition at line 151 of file kdTree.h.


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