Public Types | Public Member Functions | Private Attributes | List of all members
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 118 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 128 of file kdTree.h.

128  :
129  m_splitAxis(axis),
130  m_axisValue(axisVal),
131  m_clusterHit3D(0),
132  m_leftTree(left),
134  {}
const KdTreeNode & m_leftTree
Definition: kdTree.h:165
const KdTreeNode & m_rightTree
Definition: kdTree.h:166
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:164
lar_cluster3d::kdTree::KdTreeNode::KdTreeNode ( const reco::ClusterHit3D hit)
inline

Definition at line 136 of file kdTree.h.

136  :
137  m_splitAxis(SplitAxis::leaf),
138  m_axisValue(0.),
139  m_clusterHit3D(hit),
140  m_leftTree(*this),
141  m_rightTree(*this)
142  {}
const KdTreeNode & m_leftTree
Definition: kdTree.h:165
const KdTreeNode & m_rightTree
Definition: kdTree.h:166
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:164
lar_cluster3d::kdTree::KdTreeNode::KdTreeNode ( )
inline

Definition at line 144 of file kdTree.h.

145  m_axisValue(0.),
146  m_clusterHit3D(0),
147  m_leftTree(*this),
148  m_rightTree(*this)
149  {}
const KdTreeNode & m_leftTree
Definition: kdTree.h:165
const KdTreeNode & m_rightTree
Definition: kdTree.h:166
null
Definition: demo.py:50
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:164

Member Function Documentation

float lar_cluster3d::kdTree::KdTreeNode::getAxisValue ( ) const
inline

Definition at line 155 of file kdTree.h.

155 {return m_axisValue;}
const reco::ClusterHit3D* lar_cluster3d::kdTree::KdTreeNode::getClusterHit3D ( ) const
inline

Definition at line 156 of file kdTree.h.

156 {return m_clusterHit3D;}
const reco::ClusterHit3D * m_clusterHit3D
Definition: kdTree.h:164
SplitAxis lar_cluster3d::kdTree::KdTreeNode::getSplitAxis ( ) const
inline

Definition at line 154 of file kdTree.h.

154 {return m_splitAxis;}
bool lar_cluster3d::kdTree::KdTreeNode::isLeafNode ( ) const
inline

Definition at line 151 of file kdTree.h.

151 {return m_splitAxis == SplitAxis::leaf;}
bool lar_cluster3d::kdTree::KdTreeNode::isNullNode ( ) const
inline

Definition at line 152 of file kdTree.h.

152 {return m_splitAxis == SplitAxis::null;}
null
Definition: demo.py:50
const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::leftTree ( ) const
inline

Definition at line 157 of file kdTree.h.

157 {return m_leftTree;}
const KdTreeNode & m_leftTree
Definition: kdTree.h:165
const KdTreeNode& lar_cluster3d::kdTree::KdTreeNode::rightTree ( ) const
inline

Definition at line 158 of file kdTree.h.

158 {return m_rightTree;}
const KdTreeNode & m_rightTree
Definition: kdTree.h:166

Member Data Documentation

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

Definition at line 163 of file kdTree.h.

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

Definition at line 164 of file kdTree.h.

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

Definition at line 165 of file kdTree.h.

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

Definition at line 166 of file kdTree.h.

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

Definition at line 162 of file kdTree.h.


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