#include "hratree.h"

HRaTree


class description - source file - inheritance tree (.pdf)

class HRaTree : public TObject

Inheritance Chart:
TObject
<-
HRaTree
<-
HRaTreeExt

    protected:
Bool_t addObject(HLocatedDataObject* obj) HRaNode* buildNode(TArrayI* sizes, Int_t lvl) Bool_t buildTree(TArrayI* sizes) public:
HRaTree() HRaTree(HCategory* cat, TArrayI* sizes) HRaTree(HCategory* cat, HLocation& aLoc, TArrayI* sizes) HRaTree(const HRaTree&) ~HRaTree() static TClass* Class() virtual TObject* getObject(HLocation& aLoc) virtual TObject* getObject(Int_t i1 = -1, Int_t i2 = -1, Int_t i3 = -1, Int_t i4 = -1, Int_t i5 = -1, Int_t i6 = -1, Int_t i7 = -1, Int_t i8 = -1, Int_t i9 = -1) HRaNode* getRoot() virtual TClass* IsA() const HRaTree& operator=(const HRaTree&) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Bool_t update()

Data Members


    protected:
HRaNode* fRoot index tree's root node HCategory* fSourceCategory ! Category actually holding data Int_t fDepth Tree's depth HLocation fLoc Location for this tree. HIterator* fIter ! Iterator on data objects in the category Int_t fLowerLevel

Class Description

HRaTree, HRaNode, HRaIndexNode

 HRaTree stands for "Hades Random Access Tree". This class implements
random access to the objects in any category using a tree; the only condition
is that the data objects in the category inherit from HLocatedDataObject, so
the random access implemented by the HRaTree corresponds to the indexes
in the data objects rather than the natural indexing in the category.

 As said, the HRaTree is a tree of HRaNode objects. The lower level nodes
are HRaIndexNode and store pointers to the actual data objects being accesed
with the HRaTree.


HRaTree(void)
Constructor

HRaTree(HCategory *cat,TArrayI *sizes)
Constructor for a tree accesing the data in "cat". "sizes" gives the
max size of each level in the tree.

HRaTree(HCategory *cat,HLocation &loc,TArrayI *sizes)
Constructor like the one before but accessing only those objects in the
category which correspond to the location "loc"

HRaNode* buildNode(TArrayI *sizes,Int_t lvl)
Recursive function used to instantiate the tree.

Bool_t buildTree(TArrayI *sizes)
Instantiates the tree using buildNode()

~HRaTree(void)
Destructor

Bool_t addObject(HLocatedDataObject *obj)
Adds the pointer "obj" to the right place in the tree so it can be accesed
after.

Bool_t update(void)
Updates the contents of the tree with the data in the accessed category.

TObject* getObject(HLocation &aLoc)
Returns the object corresponding to the location "loc"
Warning: for the sake of speed no index checking is done here.

TObject* getObject(Int_t i1,Int_t i2,Int_t i3,Int_t i4, Int_t i5,Int_t i6,Int_t i7,Int_t i8, Int_t i9)
Returns the object corresponding to the location with indexes:
"i1","i2" up to "i9"



Inline Functions


           HRaNode* getRoot()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
            HRaTree HRaTree(const HRaTree&)
           HRaTree& operator=(const HRaTree&)


Author: Manuel Sanchez
Last update: 6/10/98 by Manuel Sanchez


ROOT page - Class index - Class Hierarchy - Top of the page

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.