| #include "KanClonesVector.hh" |
KanClonesVector
class description - source file - inheritance tree (.pdf)
private:
KanClonesVector(const KanClonesVector& other)
KanClonesVector& operator=(const KanClonesVector& other)
protected:
KanObj* append()
virtual KanPersistable& castAsPersistable() const
virtual Bool_t fillSelfPointers(KanEventReader& eR)
virtual Bool_t fillSelfReadRefs(KanEventReader& eR)
virtual Bool_t fillSelfWriteRefs(KanEventWriter& eW)
virtual Bool_t flushSelf(KanEventReader& eR)
virtual Bool_t isComposite() const
void make(UInt_t s)
virtual void* readPtr() const
virtual Int_t readSelf(KanEventReader&)
virtual void resetSelf(Dna::Scope scope = Dna::Event)
virtual Int_t setReadBranchSelf(KanTreeBase& tree, const char* name)
virtual Int_t setWriteBranchSelf(KanTreeBase& tree, const char* branchName, Bool_t replace = kFALSE, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
virtual KanPersistable* subObject(UShort_t oid) const
virtual Bool_t syncSelf(KanEventWriter& eW)
virtual void* writePtr() const
public:
KanClonesVector()
KanClonesVector(const char* classname)
virtual ~KanClonesVector()
virtual TObject* asObject()
KanObj* at(UInt_t i) const
virtual const char* branchClassName() const
virtual const char* className() const
static const char* clonesArrayName() const
TClonesArray& getArray()
const char* objectClassName() const
virtual void print(ostream& os = std::cout) const
virtual void Print(Option_t* option) const
virtual void printIOStatus(ostream& os = std::cout) const
UInt_t size() const
private:
KanTClones* _array ! The TClonesArray
UInt_t _n ! Number of objects on vector
KanWriteCache _indexWriteCache ! For writing the index branch
KanReadCache _indexReadCache ! For reading the index branch
TString _objClassName Name of component class persisted by this vector
Base class for using TClonesArrays in Kanga storage
This class exist mainly to insure that the sync, flush, reset,
and fill calls are passed on the all the objects on the
TClonesArray
Actual interaction with KanClonesVector is alway done via the
Template interface KanClonesVector_I<XxxDataObjI>
KanClonesVector() //
KanClonesVector(const char *classname) //
~KanClonesVector()
d'tor
clean the contents of the array
void print(ostream& os) const
Standard print method, prints the array contents
void printIOStatus(ostream& os) const
Print the IO status of this object. Format is:
R tid:bid W tid:bid ( Read and write branch ids )
ClassName[ObjClassName] ( Persistent class name and component class name )
KanObj* append()
Add an "empty" object to the end of the vector
void make(UInt_t s)
Resize this array
Int_t readSelf(KanEventReader& eR)
readSelf reads the index branch and fills _n data member, then read the data branch
Returns the number of bytes read.
Int_t setReadBranchSelf(KanTreeBase& tree, const char* name)
This attaches the indexBranch to the _n data member
Returns the number of branches attached, which should always be 1
Int_t setWriteBranchSelf(KanTreeBase& tree,
const char* branchName,
Bool_t replace,
Int_t bufSize, Int_t split)
This add a branch for the _n data member
Returns the number of branches added with should alway be 1
Bool_t syncSelf(KanEventWriter& eW)
This passes the sync on to all the component objects on the vector
Return value is the .AND. of all the sync calls
Bool_t flushSelf(KanEventReader& eR)
This passes the flush on to all the component objects on the vector
Return value is the .AND. of all the flush calls
void resetSelf(Dna::Scope scope )
This passes the reset on to all the component object on the vector
Bool_t fillSelfWriteRefs( KanEventWriter& eW )
This passes the fillWriteRefs on to all the component objects on the vector
Return value is the .AND. of all the calls
Bool_t fillSelfReadRefs( KanEventReader& eR )
This passes the fillReadRefs on to all the component objects on the vector
Return value is the .AND. of all the calls
Bool_t fillSelfPointers ( KanEventReader& eR )
This passes the fillPointers on to all the component objects on the vector
Return value is the .AND. of all the calls
KanPersistable* subObject(UShort_t oid) const
Return a sub object by index
void Streamer( TBuffer& R__b )
This insures that the TClonesArray is a KanTClones, which is what we need
to be able to set the KanID's in the Streamer of KanIDHolder.
This is some pretty obscure stuff.
Note that this streamer is not called every event, but only when writting the
set of "master objects" to a KanTreeBase
Inline Functions
const char* clonesArrayName() const
void Print(Option_t* option) const
TObject* asObject()
UInt_t size() const
KanObj* at(UInt_t i) const
TClonesArray& getArray()
const char* className() const
const char* branchClassName() const
const char* objectClassName() const
void* writePtr() const
void* readPtr() const
Bool_t isComposite() const
KanPersistable& castAsPersistable() const
KanClonesVector KanClonesVector(const KanClonesVector& other)
KanClonesVector& operator=(const KanClonesVector& other)
Author: E. Charles
Last update: KanClonesVector.cc,v 1.21 2004/08/06 06:12:57 bartoldu Exp $
Copyright (C) 2003 LBNL
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.
|