14 #ifndef ROOT_Math_KDTree 15 #define ROOT_Math_KDTree 33 template<
class _DataPo
int>
100 virtual void Print(
int iRow = 0)
const = 0;
211 virtual void Print(
int iRow = 0)
const;
254 virtual void Print(
int iRow = 0)
const;
262 typedef typename std::vector<const point_type* >::iterator
data_it;
263 typedef typename std::vector<const point_type* >::const_iterator
const_data_it;
339 const iterator
First()
const;
353 const iterator
Last()
const;
375 #endif // ROOT_Math_KDTree
KDTree(const KDTree< point_type > &)
HeadNode & operator=(const HeadNode &)
std::vector< tBoundary > fBoundaries
iterator & operator=(const iterator &rhs)
Double_t GetDensity() const
virtual SplitNode * Clone()
const std::vector< const point_type * > & GetPoints() const
BaseNode(BaseNode *pParent=0)
virtual HeadNode * Clone()
std::vector< const point_type *>::iterator data_it
void SetAxis(UInt_t iAxis)
HeadNode(BaseNode &rNode)
virtual const BinNode * FindNode(const point_type &) const
virtual void Print(Int_t iRow=0) const
Namespace for new ROOT classes and functions.
Double_t GetBinContent() const
virtual BinNode * Clone()
virtual void Print(Int_t) const
virtual const BinNode * FindNode(const point_type &rPoint) const
Bool_t Insert(const point_type &rData)
const Bin * FindBin(const point_type &rPoint) const
const Cut * GetCut() const
BaseNode * fLeftChild
pointer to parent node
BinNode(BaseNode *pParent=0)
UInt_t GetEntries() const
virtual const BinNode * FindNode(const point_type &rPoint) const
virtual BinNode * Clone()
static UInt_t Dimension()
virtual void Print(int iRow=0) const
Bool_t operator>(const point_type &rPoint) const
virtual Bool_t Insert(const point_type &rPoint)
const BaseNode * LeftChild() const
virtual void GetPointsWithinDist(const point_type &, value_type, std::vector< const point_type *> &) const
void SetCutValue(Double_t fNewCutValue)
virtual const BinNode * FindNode(const point_type &rPoint) const
virtual const std::vector< tBoundary > & GetBoundaries() const
const Bin * operator->() const
std::pair< value_type, value_type > tBoundary
Double_t GetEffectiveEntries() const
const BaseNode * RightChild() const
virtual void GetClosestPoints(const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const
HeadNode(const HeadNode &)
BaseNode * fRightChild
pointer to left child
virtual void GetClosestPoints(const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const
KDTree< point_type > & operator=(const KDTree< point_type > &)
Double_t GetEffectiveEntries() const
Cut(UInt_t iAxis, Double_t fNewCutValue)
void SetSplitOption(eSplitOption opt)
void GetClosestPoints(const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const
double pow(double, double)
virtual Bool_t Insert(const point_type &rPoint)=0
virtual void GetClosestPoints(const point_type &, UInt_t, std::vector< std::pair< const _DataPoint *, Double_t > > &) const
void SetOwner(Bool_t bIsOwner=true)
Bool_t IsLeftChild() const
TerminalNode(Double_t iBucketSize, BaseNode *pParent=0)
UInt_t GetEntries() const
virtual Bool_t IsHeadNode() const
TerminalNode(const TerminalNode &)
virtual void GetPointsWithinDist(const point_type &rRef, value_type fDist, std::vector< const point_type *> &vFoundPoints) const =0
Double_t GetTotalSumw() const
void GetPointsWithinDist(const point_type &rRef, value_type fDist, std::vector< const point_type *> &vFoundPoints) const
data_it SplitEffectiveEntries()
eSplitOption fSplitOption
BinNode * ConvertToBinNode()
std::vector< const _DataPoint * > fDataPoints
Double_t GetSumw2() const
void SetOwner(Bool_t bIsOwner=true)
Double_t GetBucketSize() const
virtual void Print(int iRow=0) const =0
SplitNode(const SplitNode &)
virtual const BinNode * FindNode(const point_type &rPoint) const =0
bool operator==(const iterator &rIterator) const
virtual void GetPointsWithinDist(const point_type &rRef, value_type fDist, std::vector< const _DataPoint *> &vFoundPoints) const
std::pair< value_type, value_type > tBoundary
BaseNode & operator=(const BaseNode &)
BaseNode(const BaseNode &)
BinNode & operator=(const BinNode &rhs)
SplitNode(UInt_t iAxis, Double_t fCutValue, BaseNode &rLeft, BaseNode &rRight, BaseNode *pParent=0)
iterator(const iterator ©)
virtual Bool_t Insert(const point_type &rPoint)
const BaseNode * Parent() const
virtual BaseNode * Clone()=0
Namespace for new Math classes and functions.
TerminalNode & operator=(const TerminalNode &)
Double_t GetTotalSumw2() const
const Bin & operator*() const
KDTree< _DataPoint > * GetFrozenCopy()
value_type GetCutValue() const
Bool_t operator<(const point_type &rPoint) const
Double_t GetVolume() const
virtual Bool_t Insert(const point_type &rPoint)
bool operator!=(const iterator &rIterator) const
Bool_t operator()(const point_type *pFirst, const point_type *pSecond) const
point_type GetBinCenter() const
std::vector< const point_type *>::const_iterator const_data_it
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
_DataPoint::value_type value_type
virtual void GetPointsWithinDist(const point_type &rRef, value_type fDist, std::vector< const _DataPoint *> &vFoundPoints) const
virtual Bool_t Insert(const point_type &rPoint)
void SetSplitOption(eSplitOption opt)
data_it SplitBinContent()
virtual void GetPointsWithinDist(const point_type &rRef, value_type fDist, std::vector< const _DataPoint *> &vFoundPoints) const
SplitNode & operator=(const SplitNode &)
Bool_t IsInBin(const point_type &rPoint) const
BaseNode *& GetParentPointer()
virtual void GetClosestPoints(const point_type &rRef, UInt_t nPoints, std::vector< std::pair< const _DataPoint *, Double_t > > &vFoundPoints) const =0
void SetAxis(UInt_t iAxis)
virtual void Print(int iRow=0) const
virtual bool IsHeadNode() const