class HBArray: public TObject

 Bit array class

 Implements functions to create and manipulate array of bits. Functions
 to: dynamically create arrays, access (read and write) elements at
 a particular position, are provided.

 'Bits' are represented using  unsigned integer type, but minor changes
 are required to change this particular representation to other
 basic type such as unsigned char.
 The 'bit fields' are splitted according to the structure defined by
 the caller (link to the category setup). This splitting in sub-bitfields
 is done using a pointer array like structure.

 N.B: the bit array can not be a replacement of the standard library
 <bitset> ect.. :
 This class is mainly used to create the bit-based lookup table needed for
 random access of HDataObjects in the HBitFieldCategory container.
 For that purpose, efficient additional mathematical functions
 (complement, number of set bits)  have also been implemented.
 Nevertheless, the extension of the bit array interface to a more
 complete/general one is of course possible


 typedef names used
     => including  definitions of the following 3 types
              elem_t = a number (used as a count, i.e. never < 0,
                                throughout).
               bit  = an unsigned integer
                      + If this is not UChar_t then the #define
                        of BITS_SZ as CHAR_BIT should be changed.
                      + If this is not internally represented by 8
                         bits then the lookup table in the methods
                               Int_t  HBArray::bcount()
                               Int_t  HBArray::bcount2()
                         must be replaced.




Function Members (Methods)

public:
HBArray()
HBArray(UInt_t mlenght)
HBArray(const HBArray&)
virtual~HBArray()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
UInt_tbcount(const size_t nsize)
UInt_tbcount2(const size_t nsize)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
voidclear()
voidclear(UInt_t pos)
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
voidcomplement(const size_t nsize)
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
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
voiddump()
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
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
UInt_t**getData()
Int_t*getDimensions()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tgetEntries()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
Int_tgetNBitSet(size_t upto)
Int_tgetNDim()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tgetPosition(HLocation& aLoc)
Int_tgetSubLocation(HLocation* aLoc)
Int_tgetSubLocation(HLocatedDataObject* data)
Int_tgetSubLocation(Int_t* aLoc, Int_t dim)
virtual const char*TObject::GetTitle() 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
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
UInt_tlenght()
virtual voidTObject::ls(Option_t* option = "") const
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)
HBArray&operator=(const HBArray&)
Int_toperator[](UInt_t pos)
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)
voidrelease()
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 = "")
voidset()
voidset(UInt_t pos)
voidset(HLocation& aLoc)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetCapacity(Int_t nword, Int_t nsplit)
voidsetDimensions(Int_t nDim, Int_t* sizes)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetMod(Int_t loc, Int_t i)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamer_sparse(TBuffer& R__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:
UInt_tmaxBytes() const
UInt_tmaxWords() const

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
static Bool_tS_setup! used for streamer 2 (sparse structure)
static UInt_tbitPerWord!
static Bool_tcaching!
static UInt_t**dataPtr array defining dynamic bit array
UInt_t*dataCurrent!
static Int_t*indexes! cache mode
static Int_tinit_count!
static Int_t*lSizesRange of indexes
UInt_tmBits!
static Int_t*modulesIndex table for each nodes
static Int_tnDimensionsNumber of indexes
static Int_tnSplitSplit level choosen according the category setup
static Int_tnWordsNumber of Words contained in the bit-field
Int_toffset!

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HBArray(void)
HBArray(UInt_t lenght)
~HBArray(void)
void setDimensions(Int_t nDim, Int_t* sizes)
void setCapacity(Int_t nword, Int_t nsplit)
void set(UInt_t pos)
 set a bit to 1 at a position
 in the bit-field
void clear(UInt_t pos)
 clear a bit at a position
void set()
 set all bitfield with the cte BitSet
void clear()
 set all bitfield with the cte Byte BitNotSet
void dump(void)
Int_t operator[](UInt_t pos)
Int_t getNBitSet(size_t upto)
 Get the Number of bit set using internally
 a call to bcount()
 if the DataObject does not exit a negative
 value (-1) is returned
UInt_t bcount(const size_t nsize)
 Compute the number of 1 bits in the first 'size' elements
 using single lookup to the bit integer value.
void complement(const size_t nsize)
void release()
void Streamer(TBuffer& b)
void Streamer_sparse(TBuffer& R__b)
 alternative streamer function
 when using sparse data
Int_t getSubLocation( HLocation *aLoc )
Int_t getSubLocation( HLocatedDataObject* data )
Int_t getSubLocation(Int_t* aLoc, Int_t dim)
Int_t getPosition(HLocation& aLoc)
void set( HLocation &aLoc )
void setMod(Int_t loc, Int_t i)
UInt_t maxBytes(void)
UInt_t maxWords(void)
UInt_t bcount2(const size_t nsize)
 Compute the number of bits set to 1
 for within  the first 'size' elements
 Using a Double_t look-up on the bit integer values.
HBArray(void)
Int_t* getDimensions()
{ return lSizes;}
Int_t getNDim()
{return nDimensions;}
UInt_t lenght(void)
{return mBits;}
UInt_t** getData()
{ return data;}
Int_t getEntries(void)
{ return nWords*bitPerWord;}

Last change: Sat May 22 12:53:39 2010
Last generated: 2010-05-22 12:53

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.