class TKDTree<int,double>: public TObject

This class is also known as (typedefs to this class)

TKDTreeID, TKDTree<Int_t,Double_t>

Function Members (Methods)

public:
TKDTree<int,double>()
TKDTree<int,double>(int npoints, int ndim, UInt_t bsize)
TKDTree<int,double>(int npoints, int ndim, UInt_t bsize, double** data)
virtual~TKDTree<int,double>()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidBuild()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Double_tDistance(const double* point, int ind, Int_t type = 2) const
voidDistanceToNode(const double* point, int inode, double& min, double& max, Int_t type = 2)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFindBNodeA(double* point, double* delta, Int_t& inode)
voidFindInRange(double* point, double range, vector<int>& res)
voidFindNearestNeighbors(const double* point, const Int_t k, int* ind, double* dist)
intFindNode(const double* point) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFindPoint(double* point, int& index, Int_t& iter)
double*GetBoundaries()
double*GetBoundariesExact()
double*GetBoundary(const Int_t node)
double*GetBoundaryExact(const Int_t node)
intGetBucketSize()
Int_tGetCrossNode()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
int*GetIndPoints()
Int_tGetLeft(Int_t inode) const
virtual const char*TObject::GetName() const
intGetNDim()
Int_tGetNNodes() const
UChar_tGetNodeAxis(Int_t id) const
voidGetNodePointsIndexes(Int_t node, Int_t& first1, Int_t& last1, Int_t& first2, Int_t& last2) const
doubleGetNodeValue(Int_t id) const
intGetNPoints()
intGetNPointsNode(Int_t node) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Int_tGetOffset()
virtual Option_t*TObject::GetOption() const
Int_tGetParent(Int_t inode) const
int*GetPointsIndexes(Int_t node) const
Int_tGetRight(Int_t inode) const
Int_tGetRowT0()
virtual const char*TObject::GetTitle() const
Int_tGetTotalNodes() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Int_tIsOwner()
virtual Bool_tTObject::IsSortable() const
Bool_tIsTerminal(int inode) const
Bool_tTObject::IsZombie() const
doubleKOrdStat(int ntotal, double* a, int k, int* index) const
virtual voidTObject::ls(Option_t* option = "") const
voidMakeBoundaries(double* range = 0x0)
voidMakeBoundariesExact()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Int_tSetData(int idim, double* data)
voidSetData(int npoints, int ndim, UInt_t bsize, double** data)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOwner(Int_t owner)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
voidSpread(int ntotal, double* a, int* index, double& min, double& max) const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TKDTree<int,double>(const TKDTree<int,double>&)
voidCookBoundaries(const Int_t node, Bool_t left)
TKDTree<int,double>&operator=(const TKDTree<int,double>&)
voidUpdateNearestNeighbors(int inode, const double* point, Int_t kNN, int* ind, double* dist)
voidUpdateRange(int inode, double* point, double range, vector<int>& res)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
UChar_t*fAxis[fNNodes] nodes cutting axis
double*fBoundaries! nodes boundaries
intfBucketSizesize of the terminal nodes
Int_tfCrossNode! cross node - node that begins the last row (with terminal nodes only)
double**fData! data points
Int_tfDataOwner! 0 - not owner, 2 - owner of the pointer array, 1 - owner of the whole 2-d array
int*fIndPoints! array of points indexes
intfNDimnumber of dimensions
intfNDimmdummy 2*fNDim
Int_tfNNodessize of node array
intfNPointsnumber of multidimensional points
Int_tfOffset! offset in fIndPoints - if there are 2 rows, that contain terminal nodes
double*fRange[fNDimm] range of data for each dimension
Int_tfRowT0! smallest terminal row - first row that contains terminal nodes
Int_tfTotalNodestotal number of nodes (fNNodes + terminal nodes)
double*fValue[fNNodes] nodes cutting value

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Build()
Double_t Distance(const double* point, int ind, Int_t type = 2) const
void DistanceToNode(const double* point, int inode, double& min, double& max, Int_t type = 2)
Int_t GetLeft(Int_t inode) const
 Get indexes of left and right daughter nodes
{return inode*2+1;}
Int_t GetRight(Int_t inode) const
{return (inode+1)*2;}
Int_t GetParent(Int_t inode) const
 Other getters
{return (inode-1)/2;}
Index* GetPointsIndexes(Int_t node) const
void GetNodePointsIndexes(Int_t node, Int_t& first1, Int_t& last1, Int_t& first2, Int_t& last2) const
UChar_t GetNodeAxis(Int_t id) const
{return (id < 0 || id >= fNNodes) ? 0 : fAxis[id];}
Value GetNodeValue(Int_t id) const
{return (id < 0 || id >= fNNodes) ? 0 : fValue[id];}
Int_t GetNNodes() const
{return fNNodes;}
Int_t GetTotalNodes() const
{return fTotalNodes;}
Value* GetBoundaries()
Value* GetBoundariesExact()
Value* GetBoundary(const Int_t node)
Value* GetBoundaryExact(const Int_t node)
Index GetNPoints()
{ return fNPoints; }
Index GetNDim()
{ return fNDim; }
Index GetNPointsNode(Int_t node) const
Int_t GetRowT0()
Getters for internal variables.
{return fRowT0;}
Int_t GetCrossNode()
{return fCrossNode;}
Int_t GetOffset()
{return fOffset;}
Index* GetIndPoints()
{return fIndPoints;}
Index GetBucketSize()
{return fBucketSize;}
void FindNearestNeighbors(const double* point, const Int_t k, int* ind, double* dist)
Index FindNode(const double* point) const
void FindPoint(double* point, int& index, Int_t& iter)
void FindInRange(double* point, double range, vector<int>& res)
void FindBNodeA(double* point, double* delta, Int_t& inode)
Bool_t IsTerminal(int inode) const
{return (inode>=fNNodes);}
Int_t IsOwner()
{ return fDataOwner; }
Value KOrdStat(int ntotal, double* a, int k, int* index) const
void MakeBoundaries(double* range = 0x0)
void MakeBoundariesExact()
void SetData(int npoints, int ndim, UInt_t bsize, double** data)
Int_t SetData(int idim, double* data)
void SetOwner(Int_t owner)
{ fDataOwner = owner; }
void Spread(int ntotal, double* a, int* index, double& min, double& max) const
TKDTree<Index, Value>& operator=(const TKDTree<Index, Value>&)
void CookBoundaries(const Int_t node, Bool_t left)
void UpdateNearestNeighbors(int inode, const double* point, Int_t kNN, int* ind, double* dist)
void UpdateRange(int inode, double* point, double range, vector<int>& res)

Last change: Thu Dec 18 10:00:41 2008
Last generated: 2008-12-18 10:00

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.