Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::KDTree< _DataPoint >::TerminalNode Class Reference

template<class _DataPoint>
class ROOT::Math::KDTree< _DataPoint >::TerminalNode

Definition at line 235 of file KDTree.h.

Public Member Functions

 TerminalNode (Double_t iBucketSize, BaseNode *pParent=0)
 
virtual ~TerminalNode ()
 
virtual void EmptyBin ()
 
virtual const std::vector< tBoundary > & GetBoundaries () const
 
virtual void GetClosestPoints (const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const
 
const std::vector< const point_type * > & GetPoints () const
 
virtual void GetPointsWithinDist (const point_type &rRef, value_type fDist, std::vector< const _DataPoint * > &vFoundPoints) const
 
virtual void Print (int iRow=0) const
 
- Public Member Functions inherited from ROOT::Math::KDTree< _DataPoint >::BinNode
 BinNode (BaseNode *pParent=0)
 
 BinNode (const BinNode &copy)
 
virtual ~BinNode ()
 
point_type GetBinCenter () const
 
Double_t GetBinContent () const
 
Double_t GetDensity () const
 
Double_t GetEffectiveEntries () const
 
UInt_t GetEntries () const
 
Double_t GetSumw () const
 
Double_t GetSumw2 () const
 
Double_t GetVolume () const
 
Bool_t IsInBin (const point_type &rPoint) const
 
- Public Member Functions inherited from ROOT::Math::KDTree< _DataPoint >::BaseNode
 BaseNode (BaseNode *pParent=0)
 
virtual ~BaseNode ()
 
BaseNode *& GetParentPointer ()
 
virtual Bool_t IsHeadNode () const
 
Bool_t IsLeftChild () const
 
BaseNode *& LeftChild ()
 
const BaseNodeLeftChild () const
 
BaseNode *& Parent ()
 
const BaseNodeParent () const
 
BaseNode *& RightChild ()
 
const BaseNodeRightChild () const
 

Private Types

typedef std::vector< constpoint_type * >::const_iterator const_data_it
 
typedef std::vector< constpoint_type * >::iterator data_it
 
typedef std::pair< value_type, value_typetBoundary
 

Private Member Functions

 TerminalNode (const TerminalNode &)
 
 TerminalNode (Double_t iBucketSize, UInt_t iSplitAxis, data_it first, data_it end)
 
virtual BinNodeClone ()
 
BinNodeConvertToBinNode ()
 
virtual const BinNodeFindNode (const point_type &) const
 
virtual Bool_t Insert (const point_type &rPoint)
 
TerminalNodeoperator= (const TerminalNode &)
 
void SetOwner (Bool_t bIsOwner=true)
 
void SetSplitOption (eSplitOption opt)
 
void Split ()
 
data_it SplitBinContent ()
 
data_it SplitEffectiveEntries ()
 
void UpdateBoundaries ()
 

Private Attributes

Double_t fBucketSize
 target number of entries per bucket
 
std::vector< const _DataPoint * > fDataPoints
 data points in this bucket
 
Bool_t fOwnData
 terminal node owns the data objects (default = false)
 
UInt_t fSplitAxis
 axis at which the next split will occur
 
eSplitOption fSplitOption
 according to which figure of merit the node is split
 

Friends

class KDTree< _DataPoint >
 

Additional Inherited Members

- Protected Types inherited from ROOT::Math::KDTree< _DataPoint >::BinNode
typedef std::pair< value_type, value_typetBoundary
 
- Protected Attributes inherited from ROOT::Math::KDTree< _DataPoint >::BinNode
std::vector< tBoundaryfBoundaries
 bin boundaries
 
UInt_t fEntries
 number of entries
 
Double_t fSumw
 sum of weights
 
Double_t fSumw2
 sum of weights^2
 
Inheritance diagram for ROOT::Math::KDTree< _DataPoint >::TerminalNode:
[legend]

Member Typedef Documentation

◆ const_data_it

template<class _DataPoint >
typedef std::vector<constpoint_type*>::const_iterator ROOT::Math::KDTree< _DataPoint >::TerminalNode::const_data_it
private

Definition at line 264 of file KDTree.h.

◆ data_it

template<class _DataPoint >
typedef std::vector<constpoint_type*>::iterator ROOT::Math::KDTree< _DataPoint >::TerminalNode::data_it
private

Definition at line 263 of file KDTree.h.

◆ tBoundary

template<class _DataPoint >
typedef std::pair<value_type,value_type> ROOT::Math::KDTree< _DataPoint >::TerminalNode::tBoundary
private

Definition at line 239 of file KDTree.h.

Constructor & Destructor Documentation

◆ TerminalNode() [1/3]

template<class _DataPoint >
ROOT::Math::KDTree< _DataPoint >::TerminalNode::TerminalNode ( Double_t  iBucketSize,
BaseNode pParent = 0 
)

Definition at line 915 of file KDTree.icc.

◆ ~TerminalNode()

template<class _DataPoint >
ROOT::Math::KDTree< _DataPoint >::TerminalNode::~TerminalNode
virtual

Definition at line 963 of file KDTree.icc.

◆ TerminalNode() [2/3]

template<class _DataPoint >
ROOT::Math::KDTree< _DataPoint >::TerminalNode::TerminalNode ( const TerminalNode )
inlineprivate

Definition at line 259 of file KDTree.h.

◆ TerminalNode() [3/3]

template<class _DataPoint >
ROOT::Math::KDTree< _DataPoint >::TerminalNode::TerminalNode ( Double_t  iBucketSize,
UInt_t  iSplitAxis,
data_it  first,
data_it  end 
)
private

Definition at line 936 of file KDTree.icc.

Member Function Documentation

◆ Clone()

template<class _DataPoint >
virtual BinNode * ROOT::Math::KDTree< _DataPoint >::TerminalNode::Clone ( )
inlineprivatevirtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 270 of file KDTree.h.

◆ ConvertToBinNode()

template<class _DataPoint >
KDTree< _DataPoint >::BinNode * ROOT::Math::KDTree< _DataPoint >::TerminalNode::ConvertToBinNode
private

Definition at line 979 of file KDTree.icc.

◆ EmptyBin()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::EmptyBin
virtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 996 of file KDTree.icc.

◆ FindNode()

template<class _DataPoint >
virtual const BinNode * ROOT::Math::KDTree< _DataPoint >::TerminalNode::FindNode ( const point_type ) const
inlineprivatevirtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 272 of file KDTree.h.

◆ GetBoundaries()

template<class _DataPoint >
const std::vector< typename KDTree< _DataPoint >::TerminalNode::tBoundary > & ROOT::Math::KDTree< _DataPoint >::TerminalNode::GetBoundaries
virtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 1018 of file KDTree.icc.

◆ GetClosestPoints()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::GetClosestPoints ( const point_type rRef,
UInt_t  nPoints,
std::vector< std::pair< const _DataPoint *, Double_t > > &  vFoundPoints 
) const
virtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 1040 of file KDTree.icc.

◆ GetPoints()

template<class _DataPoint >
const std::vector< const point_type * > & ROOT::Math::KDTree< _DataPoint >::TerminalNode::GetPoints ( ) const
inline

Definition at line 253 of file KDTree.h.

◆ GetPointsWithinDist()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::GetPointsWithinDist ( const point_type rRef,
value_type  fDist,
std::vector< const _DataPoint * > &  vFoundPoints 
) const
virtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 1085 of file KDTree.icc.

◆ Insert()

template<class _DataPoint >
Bool_t ROOT::Math::KDTree< _DataPoint >::TerminalNode::Insert ( const point_type rPoint)
privatevirtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 1106 of file KDTree.icc.

◆ operator=()

template<class _DataPoint >
TerminalNode & ROOT::Math::KDTree< _DataPoint >::TerminalNode::operator= ( const TerminalNode )
inlineprivate

Definition at line 260 of file KDTree.h.

◆ Print()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::Print ( int  iRow = 0) const
virtual

Reimplemented from ROOT::Math::KDTree< _DataPoint >::BinNode.

Definition at line 1140 of file KDTree.icc.

◆ SetOwner()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::SetOwner ( Bool_t  bIsOwner = true)
inlineprivate

Definition at line 275 of file KDTree.h.

◆ SetSplitOption()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::SetSplitOption ( eSplitOption  opt)
inlineprivate

Definition at line 276 of file KDTree.h.

◆ Split()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::Split
private

Definition at line 1165 of file KDTree.icc.

◆ SplitBinContent()

template<class _DataPoint >
KDTree< _DataPoint >::TerminalNode::data_it ROOT::Math::KDTree< _DataPoint >::TerminalNode::SplitBinContent
private

Definition at line 1278 of file KDTree.icc.

◆ SplitEffectiveEntries()

template<class _DataPoint >
KDTree< _DataPoint >::TerminalNode::data_it ROOT::Math::KDTree< _DataPoint >::TerminalNode::SplitEffectiveEntries
private

Definition at line 1236 of file KDTree.icc.

◆ UpdateBoundaries()

template<class _DataPoint >
void ROOT::Math::KDTree< _DataPoint >::TerminalNode::UpdateBoundaries
private

Definition at line 1318 of file KDTree.icc.

Friends And Related Symbol Documentation

◆ KDTree< _DataPoint >

template<class _DataPoint >
friend class KDTree< _DataPoint >
friend

Definition at line 228 of file KDTree.h.

Member Data Documentation

◆ fBucketSize

template<class _DataPoint >
Double_t ROOT::Math::KDTree< _DataPoint >::TerminalNode::fBucketSize
private

target number of entries per bucket

Definition at line 283 of file KDTree.h.

◆ fDataPoints

template<class _DataPoint >
std::vector<const _DataPoint*> ROOT::Math::KDTree< _DataPoint >::TerminalNode::fDataPoints
private

data points in this bucket

Definition at line 285 of file KDTree.h.

◆ fOwnData

template<class _DataPoint >
Bool_t ROOT::Math::KDTree< _DataPoint >::TerminalNode::fOwnData
private

terminal node owns the data objects (default = false)

Definition at line 281 of file KDTree.h.

◆ fSplitAxis

template<class _DataPoint >
UInt_t ROOT::Math::KDTree< _DataPoint >::TerminalNode::fSplitAxis
private

axis at which the next split will occur

Definition at line 284 of file KDTree.h.

◆ fSplitOption

template<class _DataPoint >
eSplitOption ROOT::Math::KDTree< _DataPoint >::TerminalNode::fSplitOption
private

according to which figure of merit the node is split

Definition at line 282 of file KDTree.h.

  • math/mathcore/inc/Math/KDTree.h
  • math/mathcore/inc/Math/KDTree.icc