SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)
#include "KanBranch.hh"

KanBranch


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

class KanBranch

Inheritance Chart:
KanBranch
<-
KanArray
<-
KanArray_String
KanBranchObj
<-
BtaCandIdBlockI
<-
BtaCandIdBlockK
BtaCandIdSetI
<-
BtaCandIdSetK
BtaCandIdSimpleBlockI
<-
BtaCandIdSimpleBlockK
CdbKanStateIdI
 [more...]
 
    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)

Data Members

    private:
Bool_t _readDone ! Read Status of Branch Bool_t _writeDone ! Write Status of Branch KanIOCache _iocache ! The IO cache

Class Description

      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.