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 ()
void EmptyBin () override
point_type GetBinCenter () const
Double_t GetBinContent () const
const std::vector< tBoundary > & GetBoundaries () const override
void GetClosestPoints (const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const override
Double_t GetDensity () const
Double_t GetEffectiveEntries () const
UInt_t GetEntries () const
BaseNode *& GetParentPointer ()
const std::vector< const point_type * > & GetPoints () const
void GetPointsWithinDist (const point_type &rRef, value_type fDist, std::vector< const _DataPoint * > &vFoundPoints) const override
Double_t GetSumw () const
Double_t GetSumw2 () const
Double_t GetVolume () const
virtual Bool_t IsHeadNode () const
Bool_t IsInBin (const point_type &rPoint) const
Bool_t IsLeftChild () const
BaseNode *& Parent ()
const BaseNodeParent () const
void Print (int iRow=0) const override

Protected Attributes

std::vector< tBoundaryfBoundaries
 bin boundaries
UInt_t fEntries
 number of entries
Double_t fSumw
 sum of weights
Double_t fSumw2
 sum of weights^2

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)
BinNodeClone () override
BinNodeConvertToBinNode ()
const BinNodeFindNode (const point_type &) const override
Bool_t Insert (const point_type &rPoint) override
BaseNode *& LeftChild ()
const BaseNodeLeftChild () const
TerminalNodeoperator= (const TerminalNode &)
BaseNode *& RightChild ()
const BaseNodeRightChild () const
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
BaseNodefLeftChild
 !pointer to left child
Bool_t fOwnData
 terminal node owns the data objects (default = false)
BaseNodefParent
 !pointer to parent node
BaseNodefRightChild
 !pointer to right child
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 >
Inheritance diagram for ROOT::Math::KDTree< _DataPoint >::TerminalNode:
ROOT::Math::KDTree< _DataPoint >::BinNode ROOT::Math::KDTree< _DataPoint >::BaseNode

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>
BinNode * ROOT::Math::KDTree< _DataPoint >::TerminalNode::Clone ( )
inlineoverrideprivatevirtual

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 ( )
overridevirtual

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

Definition at line 996 of file KDTree.icc.

◆ FindNode()

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

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

Definition at line 272 of file KDTree.h.

◆ GetBinCenter()

template<class _DataPoint>
_DataPoint ROOT::Math::KDTree< _DataPoint >::BinNode::GetBinCenter ( ) const
inherited

Definition at line 826 of file KDTree.icc.

◆ GetBinContent()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetBinContent ( ) const
inlineinherited

Definition at line 198 of file KDTree.h.

◆ GetBoundaries()

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

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
overridevirtual

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

Definition at line 1040 of file KDTree.icc.

◆ GetDensity()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetDensity ( ) const
inlineinherited

Definition at line 204 of file KDTree.h.

◆ GetEffectiveEntries()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetEffectiveEntries ( ) const
inlineinherited

Definition at line 205 of file KDTree.h.

◆ GetEntries()

template<class _DataPoint>
UInt_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetEntries ( ) const
inlineinherited

Definition at line 206 of file KDTree.h.

◆ GetParentPointer()

template<class _DataPoint>
KDTree< _DataPoint >::BaseNode *& ROOT::Math::KDTree< _DataPoint >::BaseNode::GetParentPointer ( )
inherited

Definition at line 520 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
overridevirtual

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

Definition at line 1085 of file KDTree.icc.

◆ GetSumw()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetSumw ( ) const
inlineinherited

Definition at line 208 of file KDTree.h.

◆ GetSumw2()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetSumw2 ( ) const
inlineinherited

Definition at line 209 of file KDTree.h.

◆ GetVolume()

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::GetVolume ( ) const
inherited

Definition at line 843 of file KDTree.icc.

◆ Insert()

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

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

Definition at line 1106 of file KDTree.icc.

◆ IsHeadNode()

template<class _DataPoint>
virtual Bool_t ROOT::Math::KDTree< _DataPoint >::BaseNode::IsHeadNode ( ) const
inlinevirtualinherited

Reimplemented in ROOT::Math::KDTree< _DataPoint >::HeadNode.

Definition at line 113 of file KDTree.h.

◆ IsInBin()

template<class _DataPoint>
Bool_t ROOT::Math::KDTree< _DataPoint >::BinNode::IsInBin ( const point_type & rPoint) const
inherited

Definition at line 878 of file KDTree.icc.

◆ IsLeftChild()

template<class _DataPoint>
bool ROOT::Math::KDTree< _DataPoint >::BaseNode::IsLeftChild ( ) const
inherited

Definition at line 542 of file KDTree.icc.

◆ LeftChild() [1/2]

template<class _DataPoint>
BaseNode *& ROOT::Math::KDTree< _DataPoint >::BaseNode::LeftChild ( )
inlineprivateinherited

Definition at line 104 of file KDTree.h.

◆ LeftChild() [2/2]

template<class _DataPoint>
const BaseNode * ROOT::Math::KDTree< _DataPoint >::BaseNode::LeftChild ( ) const
inlineprivateinherited

Definition at line 105 of file KDTree.h.

◆ operator=()

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

Definition at line 260 of file KDTree.h.

◆ Parent() [1/2]

template<class _DataPoint>
BaseNode *& ROOT::Math::KDTree< _DataPoint >::BaseNode::Parent ( )
inlineinherited

Definition at line 106 of file KDTree.h.

◆ Parent() [2/2]

template<class _DataPoint>
const BaseNode * ROOT::Math::KDTree< _DataPoint >::BaseNode::Parent ( ) const
inlineinherited

Definition at line 107 of file KDTree.h.

◆ Print()

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

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

Definition at line 1140 of file KDTree.icc.

◆ RightChild() [1/2]

template<class _DataPoint>
BaseNode *& ROOT::Math::KDTree< _DataPoint >::BaseNode::RightChild ( )
inlineprivateinherited

Definition at line 108 of file KDTree.h.

◆ RightChild() [2/2]

template<class _DataPoint>
const BaseNode * ROOT::Math::KDTree< _DataPoint >::BaseNode::RightChild ( ) const
inlineprivateinherited

Definition at line 109 of file KDTree.h.

◆ 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.

◆ KDTree< _DataPoint >

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

Definition at line 228 of file KDTree.h.

Member Data Documentation

◆ fBoundaries

template<class _DataPoint>
std::vector<tBoundary> ROOT::Math::KDTree< _DataPoint >::BinNode::fBoundaries
protectedinherited

bin boundaries

Definition at line 218 of file KDTree.h.

◆ 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.

◆ fEntries

template<class _DataPoint>
UInt_t ROOT::Math::KDTree< _DataPoint >::BinNode::fEntries
protectedinherited

number of entries

Definition at line 221 of file KDTree.h.

◆ fLeftChild

template<class _DataPoint>
BaseNode* ROOT::Math::KDTree< _DataPoint >::BaseNode::fLeftChild
privateinherited

!pointer to left child

Definition at line 123 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.

◆ fParent

template<class _DataPoint>
BaseNode* ROOT::Math::KDTree< _DataPoint >::BaseNode::fParent
privateinherited

!pointer to parent node

Definition at line 122 of file KDTree.h.

◆ fRightChild

template<class _DataPoint>
BaseNode* ROOT::Math::KDTree< _DataPoint >::BaseNode::fRightChild
privateinherited

!pointer to right child

Definition at line 124 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.

◆ fSumw

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::fSumw
protectedinherited

sum of weights

Definition at line 219 of file KDTree.h.

◆ fSumw2

template<class _DataPoint>
Double_t ROOT::Math::KDTree< _DataPoint >::BinNode::fSumw2
protectedinherited

sum of weights^2

Definition at line 220 of file KDTree.h.


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