#include "hmatrixcategory.h" |
HMatrixCategory
class description - source file - inheritance tree (.pdf)
public:
HMatrixCategory()
HMatrixCategory(Text_t* className, Int_t nSizes, Int_t* sizes, Float_t fillRate = 0.1)
HMatrixCategory(const HMatrixCategory&)
~HMatrixCategory()
virtual void activateBranch(TTree* tree, Int_t splitLevel)
virtual void Browse(TBrowser* b)
static TClass* Class()
virtual void Clear(Option_t* opt)
virtual Bool_t filter(HFilter& aFilter)
virtual Bool_t filter(HLocation& aLoc, HFilter& aFilter)
virtual TClass* getClass()
virtual const Text_t* getClassName() const
const TCollection* getCollection() const
virtual Int_t getEntries()
virtual Int_t getIndex(HLocation& aLoc)
virtual Int_t getIndex(TObject* pObj)
virtual TObject*& getNewSlot(HLocation& aLoc, Int_t* pIndex = 0)
virtual TObject* getObject(HLocation& aLoc)
virtual TObject* getObject(Int_t index)
Int_t getSize(Int_t aIdx)
TArrayI* getSizes()
virtual TObject*& getSlot(HLocation& aLoc, Int_t* pIndex = 0)
virtual TClass* IsA() const
virtual Bool_t isSelfSplitable()
virtual void makeBranch(TBranch* parent)
virtual TIterator* MakeIterator(Option_t* opt = "catIter", Bool_t dir = kIterForward)
HMatrixCategory& operator=(const HMatrixCategory&)
virtual Bool_t query(TCollection* aCol, HFilter& aFilter)
virtual Bool_t query(TCollection* aCol, HLocation& aLoc)
virtual Bool_t query(TCollection* aCol, HLocation& aLoc, HFilter& aFilter)
void setup(Text_t* className, Int_t nSizes, Int_t* sizes, Float_t fillRate = 0.1)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
HIndexTable* fIndexTable Table of the position in fData of data objects
Int_t fNDataObjs Number of data objects actually stored.
TClonesArray* fData Container for the data in the Matrix category;
HMatrixCategory
In this particular HCategory all the objects belonging to the category
are stored in a matrix-like fashion; so before start using the category it
is needed to indicate the number of indexes in this matrix and the range of
each index
When the matrix category is stored in a tree it creates one superbranch
holding one subbranch per data member in the objects held by the category.
All the objects held by the category are stored through that superbranch.
HMatrixCategory(void)
Default constructor
HMatrixCategory(Text_t *className,
Int_t nSizes,
Int_t *sizes,
Float_t fillRate)
Creates a HMatrixCategory holding objects of class "className" clasified
by nSizes indexes (giving their location) whose maximun values are the
indicated in the vector "sizes".
However it only allocates memory for fillRate*(maximun number of objects)
data objects.
~HMatrixCategory(void)
Destructor
void setup(Text_t *className,Int_t nSizes,Int_t *sizes,Float_t fillRate)
This method sets up a category.
Input:
className ---> a string with the name of the object's class stored in
the category
nSizes ---> Number of indexes needed to access an object (fBranchingLevel)
sizes ---> a vector of ints containing the maximum value for each of the
indexes before.
fillRate---> Expected fill factor in the category
(number of slots used)/(maximun number of slots)
const Text_t* getClassName(void)
Returns the class' name of the objects held by the category
TClass* getClass(void)
TArrayI* getSizes(void)
returns an array of ints with the maximun value for the indexes used to
get an object
Int_t getSize(Int_t aIdx)
Returns the maximun value of the index aIdx
void activateBranch(TTree *tree,Int_t splitLevel)
Activates the branches in tree matching the appropiate names.
void makeBranch(TBranch *parent)
This function should not be called, since HMatrixCategory is not self
splittable
Bool_t isSelfSplitable(void)
Determines if the category can be automatically split or it has
its own splitting algorithm (in this last case the function makeBranch is
called for splitting).
returns kFALSE
TObject*& getNewSlot(HLocation &aLoc,Int_t *pIndex)
Should not be used for HMatrixCategory
TObject*& getSlot(HLocation &aLoc,Int_t *pIndex)
Returns a memory address corresponding to the HLocation aLoc, where a new
object can be instantiated
TObject* getObject(HLocation &aLoc)
Returns the object at the HLocation aLoc (see HCategory)
TObject* getObject(Int_t index)
Returns the object at index in internal TClonesArray
Bool_t query(TCollection *aCol,HFilter &aFilter)
Puts all objects in the category which pass the HFilter aFilter in the
collection pointed by aCol.
Bool_t query(TCollection *aCol,HLocation &aLoc)
Puts all objects in the category corresponding to the HLocation aLoc in
the collection pointed by aCol
Bool_t query(TCollection *aCol,
HLocation &aLoc,
HFilter &aFilter)
Puts all the objects in the category passing the HFilter aFilter and
corresponding to the HLocation aLoc into the collection pointed by aCol
Bool_t filter(HFilter &aFilter)
see HCategory
Bool_t filter(HLocation &aLoc,HFilter &aFilter)
see HCategory
TIterator* MakeIterator(Option_t* opt,Bool_t dir)
Returns an iterator, which iterates in the direction dir and (as default)
throuhg the whole category.
void Clear(Option_t *opt)
see HCategory
void Browse(TBrowser *b)
Browse objects in this category
void Streamer(TBuffer &R__b)
Stream an object of class HMatrixCategory.
Inline Functions
const TCollection* getCollection() const
Int_t getEntries()
Int_t getIndex(HLocation& aLoc)
Int_t getIndex(TObject* pObj)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void StreamerNVirtual(TBuffer& b)
HMatrixCategory HMatrixCategory(const HMatrixCategory&)
HMatrixCategory& operator=(const HMatrixCategory&)
Author: Manuel Sanchez
Last update: 22/02/02 by R. Holzmann
Copyright GENP (Univ. Santiago de Compostela)
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.