Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TBranchObject Class Reference

A Branch for the case of an object.

Definition at line 26 of file TBranchObject.h.

Public Member Functions

 TBranchObject ()
 Default constructor for BranchObject.
 
 TBranchObject (TBranch *parent, const char *name, const char *classname, void *addobj, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit, Bool_t isptrptr=kTRUE)
 Create a BranchObject.
 
 TBranchObject (TTree *tree, const char *name, const char *classname, void *addobj, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit, Bool_t isptrptr=kTRUE)
 Create a BranchObject.
 
 ~TBranchObject () override
 Destructor for a BranchObject.
 
void Browse (TBrowser *b) override
 Browse the branch content.
 
const char * GetClassName () const override
 Return the name of the user class whose content is stored in this branch, if any.
 
Int_t GetEntry (Long64_t entry=0, Int_t getall=0) override
 Read all branches of a BranchObject and return total number of bytes.
 
Int_t GetExpectedType (TClass *&clptr, EDataType &type) override
 Fill expectedClass and expectedType with information on the data type of the object/values contained in this branch (and thus the type of pointers expected to be passed to Set[Branch]Address return 0 in case of success and > 0 in case of failure.
 
virtual const char * GetObjClassName ()
 
TClassIsA () const override
 
Bool_t IsFolder () const override
 Return TRUE if more than one leaf or if fBrowsables, FALSE otherwise.
 
void Print (Option_t *option="") const override
 Print TBranch parameters.
 
void Reset (Option_t *option="") override
 Reset a branch.
 
void ResetAfterMerge (TFileMergeInfo *) override
 Reset a Branch after a Merge operation (drop data but keep customizations)
 
void SetAddress (void *addobj) override
 Set address of this branch.
 
void SetAutoDelete (Bool_t autodel=kTRUE) override
 Set the AutoDelete bit.
 
void SetBasketSize (Int_t buffsize) override
 Reset basket size for all subbranches of this branch.
 
void SetupAddresses () override
 – If the branch address is not set, we set all addresses starting with the top level parent branch.
 
void Streamer (TBuffer &) override
 Stream an object of class TBranchObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void UpdateAddress () override
 Update branch addresses if a new object was created.
 
- Public Member Functions inherited from TBranch
 TBranch ()
 Default constructor. Used for I/O by default.
 
 TBranch (TBranch *parent, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit)
 Create a Branch as a child of another Branch.
 
 TBranch (TTree *tree, const char *name, void *address, const char *leaflist, Int_t basketsize=32000, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit)
 Create a Branch as a child of a Tree.
 
 ~TBranch () override
 Destructor.
 
virtual void AddBasket (TBasket &b, Bool_t ondisk, Long64_t startEntry)
 Add the basket to this branch.
 
virtual void AddLastBasket (Long64_t startEntry)
 Add the start entry of the write basket (not yet created)
 
Int_t BackFill ()
 Loop on all leaves of this branch to back fill Basket buffer.
 
virtual void DeleteBaskets (Option_t *option="")
 Loop on all branch baskets.
 
virtual void DropBaskets (Option_t *option="")
 Loop on all branch baskets.
 
void ExpandBasketArrays ()
 Increase BasketEntry buffer of a minimum of 10 locations and a maximum of 50 per cent of current size.
 
Int_t Fill ()
 
virtual TBranchFindBranch (const char *name)
 Find the immediate sub-branch with passed name.
 
virtual TLeafFindLeaf (const char *name)
 Find the leaf corresponding to the name 'searchname'.
 
Int_t FlushBaskets ()
 Flush to disk all the baskets of this branch and any of subbranches.
 
Int_t FlushOneBasket (UInt_t which)
 If we have a write basket in memory and it contains some entries and has not yet been written to disk, we write it and delete it from memory.
 
virtual char * GetAddress () const
 
TBasketGetBasket (Int_t basket)
 
Int_tGetBasketBytes () const
 
Long64_tGetBasketEntry () const
 
virtual Long64_t GetBasketSeek (Int_t basket) const
 Return address of basket in the file.
 
virtual Int_t GetBasketSize () const
 
virtual TListGetBrowsables ()
 Returns (and, if 0, creates) browsable objects for this branch See TVirtualBranchBrowsable::FillListOfBrowsables.
 
ROOT::Experimental::Internal::TBulkBranchReadGetBulkRead ()
 
Int_t GetCompressionAlgorithm () const
 
Int_t GetCompressionLevel () const
 
Int_t GetCompressionSettings () const
 
TDirectoryGetDirectory () const
 
Long64_t GetEntries () const
 
virtual Int_t GetEntryExport (Long64_t entry, Int_t getall, TClonesArray *list, Int_t n)
 Read all leaves of an entry and export buffers to real objects in a TClonesArray list.
 
Long64_t GetEntryNumber () const
 
Int_t GetEntryOffsetLen () const
 
Int_t GetEvent (Long64_t entry=0)
 
virtual TFileGetFile (Int_t mode=0)
 Return pointer to the file where branch buffers reside, returns 0 in case branch buffers reside in the same file as tree header.
 
const char * GetFileName () const
 
Long64_t GetFirstEntry () const
 
virtual TString GetFullName () const
 Return the 'full' name of the branch.
 
const char * GetIconName () const override
 Return icon name depending on type of branch.
 
TIOFeatures GetIOFeatures () const
 Returns the IO settings currently in use for this branch.
 
virtual TLeafGetLeaf (const char *name) const
 Return pointer to the 1st Leaf named name in thisBranch.
 
TObjArrayGetListOfBaskets ()
 
TObjArrayGetListOfBranches ()
 
TObjArrayGetListOfLeaves ()
 
virtual Bool_t GetMakeClass () const
 Return whether this branch is in a mode where the object are decomposed or not (Also known as MakeClass mode).
 
Int_t GetMaxBaskets () const
 
TBranchGetMother () const
 Get our top-level parent branch in the tree.
 
Int_t GetNleaves () const
 
Int_t GetOffset () const
 
Int_t GetReadBasket () const
 
Long64_t GetReadEntry () const
 
virtual Int_t GetRow (Int_t row)
 Return all elements of one row unpacked in internal array fValues [Actually just returns 1 (?)].
 
Int_t GetSplitLevel () const
 
TBranchGetSubBranch (const TBranch *br) const
 Find the parent branch of child.
 
Long64_t GetTotalSize (Option_t *option="") const
 Return total number of bytes in the branch (including current buffer)
 
Long64_t GetTotBytes (Option_t *option="") const
 Return total number of bytes in the branch (excluding current buffer) if option ="*" includes all sub-branches of this branch too.
 
TBufferGetTransientBuffer (Int_t size)
 Returns the transient buffer currently used by this TBranch for reading/writing baskets.
 
TTreeGetTree () const
 
Int_t GetWriteBasket () const
 
Long64_t GetZipBytes (Option_t *option="") const
 Return total number of zip bytes in the branch if option ="*" includes all sub-branches of this branch too.
 
Bool_t IsAutoDelete () const
 Return kTRUE if an existing object in a TBranchObject must be deleted.
 
virtual void KeepCircular (Long64_t maxEntries)
 keep a maximum of fMaxEntries in memory
 
virtual Int_t LoadBaskets ()
 Baskets associated to this branch are forced to be in memory.
 
void PrintCacheInfo () const
 Print the information we have about which basket is currently cached and whether they have been 'used'/'read' from the cache.
 
virtual void ReadBasket (TBuffer &b)
 Loop on all leaves of this branch to read Basket buffer.
 
virtual void Refresh (TBranch *b)
 Refresh this branch using new information in b This function is called by TTree::Refresh.
 
virtual void ResetAddress ()
 Reset the address of the branch.
 
virtual void ResetReadEntry ()
 
virtual void SetBufferAddress (TBuffer *entryBuffer)
 Set address of this branch directly from a TBuffer to avoid streaming.
 
void SetCompressionAlgorithm (Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
 Set compression algorithm.
 
void SetCompressionLevel (Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
 Set compression level.
 
void SetCompressionSettings (Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
 Set compression settings.
 
virtual void SetEntries (Long64_t entries)
 Set the number of entries in this branch.
 
virtual void SetEntryOffsetLen (Int_t len, Bool_t updateSubBranches=kFALSE)
 Update the default value for the branch's fEntryOffsetLen if and only if it was already non zero (and the new value is not zero) If updateExisting is true, also update all the existing branches.
 
virtual void SetFile (const char *filename)
 Set file where this branch writes/reads its buffers.
 
virtual void SetFile (TFile *file=nullptr)
 Set file where this branch writes/reads its buffers.
 
virtual void SetFirstEntry (Long64_t entry)
 set the first entry number (case of TBranchSTL)
 
void SetIOFeatures (TIOFeatures &features)
 
virtual Bool_t SetMakeClass (Bool_t decomposeObj=kTRUE)
 Set the branch in a mode where the object are decomposed (Also known as MakeClass mode).
 
virtual void SetObject (void *objadd)
 Set object this branch is pointing to.
 
virtual void SetOffset (Int_t offset=0)
 
virtual void SetStatus (Bool_t status=1)
 Set branch status to Process or DoNotProcess.
 
virtual void SetTree (TTree *tree)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Bool_t SupportsBulkRead () const
 Returns true if this branch supports bulk IO, false otherwise.
 
virtual void UpdateFile ()
 Refresh the value of fDirectory (i.e.
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 AttFill default constructor.
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 AttFill normal constructor.
 
virtual ~TAttFill ()
 AttFill destructor.
 
void Copy (TAttFill &attfill) const
 Copy this fill attributes to a new TAttFill.
 
virtual Color_t GetFillColor () const
 Return the fill area color.
 
virtual Style_t GetFillStyle () const
 Return the fill area style.
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 Change current fill area attributes if necessary.
 
virtual void ResetAttFill (Option_t *option="")
 Reset this fill attributes to default values.
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 Save fill attributes as C++ statement(s) on output stream out.
 
virtual void SetFillAttributes ()
 Invoke the DialogCanvas Fill attributes.
 
virtual void SetFillColor (Color_t fcolor)
 Set the fill area color.
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 Set a transparent fill color.
 
virtual void SetFillStyle (Style_t fstyle)
 Set the fill area style.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TBranch
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static void ResetCount ()
 Static function resetting fgCount.
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Static Public Member Functions inherited from TAttFill
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Protected Types

enum  EStatusBits { kWarn = (1ULL << ( 14 )) }
 
enum  EStatusBitsOldValues { kOldWarn = (1ULL << ( 12 )) }
 In version of ROOT older then v6.12, kWarn was set to BIT(12) which overlaps with TBranch::kBranchObject. More...
 
- Protected Types inherited from TBranch
using BulkObj = ROOT::Experimental::Internal::TBulkBranchRead
 
using CacheInfo_t = ROOT::Internal::TBranchCacheInfo
 
enum  EStatusBits {
  kDoNotProcess = ::kDoNotProcess , kIsClone = ::kIsClone , kBranchObject = ::kBranchObject , kBranchAny = ::kBranchAny ,
  kAutoDelete = (1ULL << ( 15 )) , kDoNotUseBufferMap = (1ULL << ( 22 ))
}
 TBranch status bits. More...
 
typedef void(TBranch::* FillLeaves_t) (TBuffer &b)
 
typedef void(TBranch::* ReadLeaves_t) (TBuffer &b)
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

Protected Member Functions

void Init (TTree *tree, TBranch *parent, const char *name, const char *classname, void *addobj, Int_t basketsize, Int_t splitlevel, Int_t compress, Bool_t isptrptr)
 Initialization routine (run from the constructor so do not make this function virtual)
 
- Protected Member Functions inherited from TBranch
void FillLeavesImpl (TBuffer &b)
 Loop on all leaves of this branch to fill Basket buffer.
 
TBasketGetFreshBasket (Int_t basketnumber, TBuffer *user_buffer)
 Return a fresh basket by either reusing an existing basket that needs to be drop (according to TTree::MemoryFull) or create a new one.
 
TBasketGetFreshCluster (TBuffer *user_buffer)
 Drops the cluster two behind the current cluster and returns a fresh basket by either reusing or creating a new one.
 
TString GetRealFileName () const
 Get real file name.
 
void Init (const char *name, const char *leaflist, Int_t compress)
 
void ReadLeaves0Impl (TBuffer &b)
 Read zero leaves without the overhead of a loop.
 
void ReadLeaves1Impl (TBuffer &b)
 Read one leaf without the overhead of a loop.
 
void ReadLeaves2Impl (TBuffer &b)
 Read two leaves without the overhead of a loop.
 
void ReadLeavesImpl (TBuffer &b)
 Loop on all leaves of this branch to read Basket buffer.
 
virtual void SetAddressImpl (void *addr, Bool_t)
 
void SetSkipZip (Bool_t skip=kTRUE)
 
Int_t WriteBasket (TBasket *basket, Int_t where)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Protected Attributes

TString fClassName
 Class name of referenced object.
 
TObjectfOldObject
 !Pointer to old object
 
- Protected Attributes inherited from TBranch
char * fAddress
 ! Address of 1st leaf (variable or object)
 
Int_tfBasketBytes
 [fMaxBaskets] Length of baskets on file
 
Long64_tfBasketEntry
 [fMaxBaskets] Table of first entry in each basket
 
TObjArray fBaskets
 -> List of baskets of this branch
 
Long64_tfBasketSeek
 [fMaxBaskets] Addresses of baskets on file
 
Int_t fBasketSize
 Initial Size of Basket Buffer.
 
TObjArray fBranches
 -> List of Branches of this branch
 
TListfBrowsables
 ! List of TVirtualBranchBrowsables used for Browse()
 
BulkObj fBulk
 ! Helper for performing bulk IO
 
CacheInfo_t fCacheInfo
 ! Hold info about which basket are in the cache and if they have been retrieved from the cache.
 
Int_t fCompress
 Compression level and algorithm.
 
TBasketfCurrentBasket
 ! Pointer to the current basket.
 
TDirectoryfDirectory
 ! Pointer to directory where this branch buffers are stored
 
Long64_t fEntries
 Number of entries.
 
TBufferfEntryBuffer
 ! Buffer used to directly pass the content without streaming
 
Long64_t fEntryNumber
 Current entry number (last one filled in this branch)
 
Int_t fEntryOffsetLen
 Initial Length of fEntryOffset table in the basket buffers.
 
TBasketfExtraBasket
 ! Allocated basket not currently holding any data.
 
TString fFileName
 Name of file where buffers are stored ("" if in same file as Tree header)
 
FillLeaves_t fFillLeaves
 ! Pointer to the FillLeaves implementation to use.
 
Long64_t fFirstBasketEntry
 ! First entry in the current basket.
 
Long64_t fFirstEntry
 Number of the first entry in this branch.
 
TIOFeatures fIOFeatures
 IO features for newly-created baskets.
 
TObjArray fLeaves
 -> List of leaves of this branch
 
Int_t fMaxBaskets
 Maximum number of Baskets so far.
 
TBranchfMother
 ! Pointer to top-level parent branch in the tree.
 
Int_t fNBaskets
 ! Number of baskets in memory
 
Long64_t fNextBasketEntry
 ! Next entry that will requires us to go to the next basket
 
Int_t fNleaves
 ! Number of leaves
 
Int_t fOffset
 Offset of this branch.
 
TBranchfParent
 ! Pointer to parent branch.
 
Int_t fReadBasket
 ! Current basket number when reading
 
Long64_t fReadEntry
 ! Current entry number when reading
 
ReadLeaves_t fReadLeaves
 ! Pointer to the ReadLeaves implementation to use.
 
Bool_t fSkipZip
 ! After being read, the buffer will not be unzipped.
 
Int_t fSplitLevel
 Branch split level.
 
Long64_t fTotBytes
 Total number of bytes in all leaves before compression.
 
TBufferfTransientBuffer
 ! Pointer to the current transient buffer.
 
TTreefTree
 ! Pointer to Tree header
 
Int_t fWriteBasket
 Last basket number written.
 
Long64_t fZipBytes
 Total number of bytes in all leaves after compression.
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 Fill area color.
 
Style_t fFillStyle
 Fill area style.
 

Private Member Functions

Int_t FillImpl (ROOT::Internal::TBranchIMTHelper *) override
 Loop on all leaves of this branch to fill Basket buffer.
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Static Protected Attributes inherited from TBranch
static Int_t fgCount = 0
 ! branch counter
 

#include <TBranchObject.h>

Inheritance diagram for TBranchObject:
[legend]

Member Enumeration Documentation

◆ EStatusBits

Enumerator
kWarn 

Definition at line 29 of file TBranchObject.h.

◆ EStatusBitsOldValues

In version of ROOT older then v6.12, kWarn was set to BIT(12) which overlaps with TBranch::kBranchObject.

Since it stored in ROOT files as part of the TBranchObject and that we want to reset in TBranchObject::Streamer, we need to keep track of the old value.

Enumerator
kOldWarn 

Definition at line 38 of file TBranchObject.h.

Constructor & Destructor Documentation

◆ TBranchObject() [1/3]

TBranchObject::TBranchObject ( )

Default constructor for BranchObject.

Definition at line 40 of file TBranchObject.cxx.

◆ TBranchObject() [2/3]

TBranchObject::TBranchObject ( TBranch parent,
const char *  name,
const char *  classname,
void *  addobj,
Int_t  basketsize = 32000,
Int_t  splitlevel = 0,
Int_t  compress = ROOT::RCompressionSetting::EAlgorithm::kInherit,
Bool_t  isptrptr = kTRUE 
)

Create a BranchObject.

Definition at line 59 of file TBranchObject.cxx.

◆ TBranchObject() [3/3]

TBranchObject::TBranchObject ( TTree tree,
const char *  name,
const char *  classname,
void *  addobj,
Int_t  basketsize = 32000,
Int_t  splitlevel = 0,
Int_t  compress = ROOT::RCompressionSetting::EAlgorithm::kInherit,
Bool_t  isptrptr = kTRUE 
)

Create a BranchObject.

Definition at line 50 of file TBranchObject.cxx.

◆ ~TBranchObject()

TBranchObject::~TBranchObject ( )
override

Destructor for a BranchObject.

Definition at line 150 of file TBranchObject.cxx.

Member Function Documentation

◆ Browse()

void TBranchObject::Browse ( TBrowser b)
overridevirtual

Browse the branch content.

Reimplemented from TBranch.

Definition at line 158 of file TBranchObject.cxx.

◆ Class()

static TClass * TBranchObject::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TBranchObject::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TBranchObject::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 71 of file TBranchObject.h.

◆ DeclFileName()

static const char * TBranchObject::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 71 of file TBranchObject.h.

◆ FillImpl()

Int_t TBranchObject::FillImpl ( ROOT::Internal::TBranchIMTHelper imtHelper)
overrideprivatevirtual

Loop on all leaves of this branch to fill Basket buffer.

Reimplemented from TBranch.

Definition at line 172 of file TBranchObject.cxx.

◆ GetClassName()

const char * TBranchObject::GetClassName ( ) const
inlineoverridevirtual

Return the name of the user class whose content is stored in this branch, if any.

If this branch was created using the 'leaflist' technique, this function returns an empty string.

Reimplemented from TBranch.

Definition at line 54 of file TBranchObject.h.

◆ GetEntry()

Int_t TBranchObject::GetEntry ( Long64_t  entry = 0,
Int_t  getall = 0 
)
overridevirtual

Read all branches of a BranchObject and return total number of bytes.

  • If entry = 0 take current entry number + 1
  • If entry < 0 reset entry number to 0

The function returns the number of bytes read from the input buffer.

  • If entry does not exist the function returns 0.
  • If an I/O error occurs, the function returns -1.

Reimplemented from TBranch.

Definition at line 206 of file TBranchObject.cxx.

◆ GetExpectedType()

Int_t TBranchObject::GetExpectedType ( TClass *&  clptr,
EDataType type 
)
overridevirtual

Fill expectedClass and expectedType with information on the data type of the object/values contained in this branch (and thus the type of pointers expected to be passed to Set[Branch]Address return 0 in case of success and > 0 in case of failure.

Reimplemented from TBranch.

Definition at line 242 of file TBranchObject.cxx.

◆ GetObjClassName()

virtual const char * TBranchObject::GetObjClassName ( )
inlinevirtual

Definition at line 55 of file TBranchObject.h.

◆ Init()

void TBranchObject::Init ( TTree tree,
TBranch parent,
const char *  name,
const char *  classname,
void *  addobj,
Int_t  basketsize,
Int_t  splitlevel,
Int_t  compress,
Bool_t  isptrptr 
)
protected

Initialization routine (run from the constructor so do not make this function virtual)

Definition at line 68 of file TBranchObject.cxx.

◆ IsA()

TClass * TBranchObject::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TBranch.

Definition at line 71 of file TBranchObject.h.

◆ IsFolder()

Bool_t TBranchObject::IsFolder ( ) const
overridevirtual

Return TRUE if more than one leaf or if fBrowsables, FALSE otherwise.

Reimplemented from TBranch.

Definition at line 258 of file TBranchObject.cxx.

◆ Print()

void TBranchObject::Print ( Option_t option = "") const
overridevirtual

Print TBranch parameters.

Reimplemented from TBranch.

Definition at line 274 of file TBranchObject.cxx.

◆ Reset()

void TBranchObject::Reset ( Option_t option = "")
overridevirtual

Reset a branch.

  • Existing buffers are deleted.
  • Entries, max and min are reset.

Reimplemented from TBranch.

Definition at line 298 of file TBranchObject.cxx.

◆ ResetAfterMerge()

void TBranchObject::ResetAfterMerge ( TFileMergeInfo info)
overridevirtual

Reset a Branch after a Merge operation (drop data but keep customizations)

Reimplemented from TBranch.

Definition at line 311 of file TBranchObject.cxx.

◆ SetAddress()

void TBranchObject::SetAddress ( void *  addobj)
overridevirtual

Set address of this branch.

Reimplemented from TBranch.

Definition at line 325 of file TBranchObject.cxx.

◆ SetAutoDelete()

void TBranchObject::SetAutoDelete ( Bool_t  autodel = kTRUE)
overridevirtual

Set the AutoDelete bit.

This function can be used to instruct Root in TBranchObject::ReadBasket to not delete the object referenced by a branchobject before reading a new entry. By default, the object is deleted.

  • If autodel is kTRUE, this existing object will be deleted, a new object created by the default constructor, then object->Streamer called.
  • If autodel is kFALSE, the existing object is not deleted. Root assumes that the user is taking care of deleting any internal object or array This can be done in Streamer itself.
  • If this branch has sub-branches, the function sets autodel for these branches as well. We STRONGLY suggest to activate this option by default when you create the top level branch. This will make the read phase more efficient because it minimizes the numbers of new/delete operations. Once this option has been set and the Tree is written to a file, it is not necessary to specify the option again when reading, unless you want to set the opposite mode.

Reimplemented from TBranch.

Definition at line 517 of file TBranchObject.cxx.

◆ SetBasketSize()

void TBranchObject::SetBasketSize ( Int_t  buffsize)
overridevirtual

Reset basket size for all subbranches of this branch.

Reimplemented from TBranch.

Definition at line 531 of file TBranchObject.cxx.

◆ SetupAddresses()

void TBranchObject::SetupAddresses ( )
overridevirtual

– If the branch address is not set, we set all addresses starting with the top level parent branch.

This is required to be done in order for GetOffset to be correct and for GetEntry to run.

Reimplemented from TBranch.

Definition at line 594 of file TBranchObject.cxx.

◆ Streamer()

void TBranchObject::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TBranchObject.

Reimplemented from TBranch.

Definition at line 545 of file TBranchObject.cxx.

◆ StreamerNVirtual()

void TBranchObject::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 71 of file TBranchObject.h.

◆ UpdateAddress()

void TBranchObject::UpdateAddress ( )
overridevirtual

Update branch addresses if a new object was created.

Reimplemented from TBranch.

Definition at line 615 of file TBranchObject.cxx.

Member Data Documentation

◆ fClassName

TString TBranchObject::fClassName
protected

Class name of referenced object.

Definition at line 42 of file TBranchObject.h.

◆ fOldObject

TObject* TBranchObject::fOldObject
protected

!Pointer to old object

Definition at line 43 of file TBranchObject.h.

Libraries for TBranchObject:

The documentation for this class was generated from the following files: