KanBranch
class description - source file - inheritance tree (.pdf)
This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.
private:
KanBranch& operator=(const KanBranch&)
protected:
virtual KanPersistable& castAsPersistable() const
KanPersistable& getCache() const
virtual Bool_t isComposite() const
Bool_t readDone() const
virtual Int_t readHook(KanEventReader& eR)
Int_t readIOCache(KanEventReader& eR)
virtual void* readPtr() const
virtual Int_t readSelf(KanEventReader&)
void setActive() const
void setInActive() const
Int_t setReadBranch(KanTreeBase& tree, const char* name)
virtual Int_t setReadBranchHook(KanTreeBase& tree, const char* name)
virtual Int_t setReadBranchSelf(KanTreeBase& tree, const char* name)
void setReadFlag(Bool_t val)
Int_t setupRead(KanTreeBase& tree, TBranch& branch)
Int_t setupWrite(KanTreeBase& tree, const Char_t* branchName, Bool_t replace = kFALSE, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
void setWID(KanEventWriter& eW)
Int_t setWriteBranch(KanTreeBase& tree, const char* branchName, Bool_t replace = kFALSE, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
virtual Int_t setWriteBranchHook(KanTreeBase& tree, const char* branchName, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
virtual Int_t setWriteBranchSelf(KanTreeBase& tree, const char* branchName, Bool_t replace = kFALSE, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
void setWriteFlag(Bool_t val)
virtual KanPersistable* subObject(UShort_t oid) const
Bool_t writeDone() const
virtual void* writePtr() const
public:
virtual ~KanBranch()
virtual TObject* asObject()
virtual const char* branchClassName() const
KanPersistable* findObj(UShort_t oid) const
KanID getKanID() const
virtual void getSubBranches(KanBranch::BranchHolderList& subBranches) const
virtual void printAddresses(ostream& os = std::cout) const
virtual void printIOStatus(ostream& os = std::cout) const
Int_t read(KanEventReader& eR)
private:
Bool_t _readDone ! Read Status of Branch
Bool_t _writeDone ! Write Status of Branch
KanIOCache _iocache ! The IO cache
This class is the base class from objects stored on their own branches.
Various sub-classes define how the object is actually stored,
This class merely provides an interface to ROOT's TBranch.
This class provides the folloing interface for users:
// Read the branch for the current event, return the number of bytes read
Int_t read(KanEventReader&)
// Return a object on this branch, idx can be non-zero for vector branches
KanPersistable* findObj(UShort_t idx)
// Return the name of the class actually on the TBranch
const char* branchClassName()
Note that the actually calls to add/attach a KanBranch to a Tree are protected.
That is b/c all KanBranches should be managed by a KanBranchOwner
~KanBranch( )
void printIOStatus(ostream& os) const
Print the IO status of this object.
ie, shows if the object is attached to input/output branches
Format is:
R tid:bid W tid:bid ( Read and write branch ids )
ClassName ( Persistent class name )
void printAddresses(ostream& os) const
Print the memory address of the cached object. Format is:
@ = 0xdeadbeef "this" pointer
c = 0xfaceface "this" cast as a KanPersistable
Int_t read(KanEventReader& eR)
Read this object for the current event
Returns the number of bytes read
Int_t setupWrite(KanTreeBase& tree,
const Char_t* branchName,
Bool_t replace,
Int_t bufSize, Int_t split )
Set up this object's write cache.
This actually build the output TBranch on the KanTreeBase
Returns 1(0) for success (failure)
Int_t setupRead(KanTreeBase& tree, TBranch& branch)
Set up this object's read cache.
This actually attaches the input TBranch from the KanTreeBase
Returns 1(0) for success (failure)
Int_t setReadBranch(KanTreeBase& tree, const char* name)
Setup this object for reading
This function calls setReadBranchSelf and setReadBranchHook
Returns the number of branches attached
Int_t setWriteBranch(KanTreeBase& tree, const char* branchName,
Bool_t replace ,
Int_t bufSize, Int_t split)
Setup this object for writing
This function calls setWriteBranchSelf and setWriteBranchHook
If replace is true (false), the branch must (must not) already exist
Returns the number of branches made
Inline Functions
const char* branchClassName() const
KanPersistable* findObj(UShort_t oid) const
TObject* asObject()
void getSubBranches(KanBranch::BranchHolderList& subBranches) const
KanID getKanID() const
void setActive() const
void setInActive() const
void* writePtr() const
void* readPtr() const
Bool_t isComposite() const
KanPersistable* subObject(UShort_t oid) const
Int_t readSelf(KanEventReader&)
Int_t setReadBranchSelf(KanTreeBase& tree, const char* name)
Int_t setWriteBranchSelf(KanTreeBase& tree, const char* branchName, Bool_t replace = kFALSE, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
Int_t readHook(KanEventReader& eR)
Int_t setReadBranchHook(KanTreeBase& tree, const char* name)
Int_t setWriteBranchHook(KanTreeBase& tree, const char* branchName, Int_t bufSize = 32*Kan::kiloByte(), Int_t split = 0)
Int_t readIOCache(KanEventReader& eR)
void setWID(KanEventWriter& eW)
KanPersistable& getCache() const
KanPersistable& castAsPersistable() const
Bool_t readDone() const
Bool_t writeDone() const
void setReadFlag(Bool_t val)
void setWriteFlag(Bool_t val)
KanBranch& operator=(const KanBranch&)
Author: E. Charles
Last update: KanBranch.cc,v 1.11 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.
|