A Branch for the case of an object.
Definition at line 39 of file TBranchElement.h.
Public Types | |
enum | EBranchElementType { kLeafNode = 0 , kBaseClassNode = 1 , kObjectNode = 2 , kClonesNode = 3 , kSTLNode = 4 , kClonesMemberNode = 31 , kSTLMemberNode = 41 } |
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 )) } |
Public Member Functions | |
TBranchElement () | |
Default and I/O constructor. | |
TBranchElement (TBranch *parent, const char *name, TClonesArray *clones, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) | |
Constructor when the branch object is a TClonesArray. | |
TBranchElement (TBranch *parent, const char *name, TStreamerInfo *sinfo, Int_t id, char *pointer, Int_t basketsize=32000, Int_t splitlevel=0, Int_t btype=0) | |
Constructor when the branch object is not a TClonesArray nor an STL container. | |
TBranchElement (TBranch *parent, const char *name, TVirtualCollectionProxy *cont, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) | |
Constructor when the branch object is an STL collection. | |
TBranchElement (TTree *tree, const char *name, TClonesArray *clones, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) | |
Constructor when the branch object is a TClonesArray. | |
TBranchElement (TTree *tree, const char *name, TStreamerInfo *sinfo, Int_t id, char *pointer, Int_t basketsize=32000, Int_t splitlevel=0, Int_t btype=0) | |
Constructor when the branch object is not a TClonesArray nor an STL container. | |
TBranchElement (TTree *tree, const char *name, TVirtualCollectionProxy *cont, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) | |
Constructor when the branch object is an STL collection. | |
~TBranchElement () override | |
Destructor. | |
void | Browse (TBrowser *b) override |
Browse the branch content. | |
TBranch * | FindBranch (const char *name) override |
Find the immediate sub-branch with passed name. | |
TLeaf * | FindLeaf (const char *name) override |
Find the leaf corresponding to the name 'searchname'. | |
char * | GetAddress () const override |
Get the branch address. | |
TBranchElement * | GetBranchCount () const |
TBranchElement * | GetBranchCount2 () const |
Int_t * | GetBranchOffset () const |
UInt_t | GetCheckSum () |
virtual TClass * | GetClass () const |
const char * | GetClassName () const override |
Return the name of the user class whose content is stored in this branch, if any. | |
Int_t | GetClassVersion () |
virtual const char * | GetClonesName () const |
TVirtualCollectionProxy * | GetCollectionProxy () |
Return the collection proxy describing the branch content, if any. | |
TClass * | GetCurrentClass () |
Return a pointer to the current type of the data member corresponding to branch element. | |
Int_t | GetEntry (Long64_t entry=0, Int_t getall=0) override |
Read all branches of a BranchElement 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. | |
TString | GetFullName () const override |
Return the 'full' name of the branch. | |
const char * | GetIconName () const override |
Return icon name depending on type of branch element. | |
Int_t | GetID () const |
TStreamerInfo * | GetInfo () const |
Get streamer info for the branch class. | |
bool | GetMakeClass () const override |
Return whether this branch is in a mode where the object are decomposed or not (Also known as MakeClass mode). | |
virtual Int_t | GetMaximum () const |
Return maximum count value of the branchcount if any. | |
Int_t | GetNdata () const |
char * | GetObject () const |
Return a pointer to our object. | |
TVirtualArray * | GetOnfileObject () const |
virtual const char * | GetParentName () const |
Int_t | GetStreamerType () const |
virtual TClass * | GetTargetClass () |
Int_t | GetType () const |
template<typename T > | |
T | GetTypedValue (Int_t i, Int_t len, bool subarr=false) const |
virtual const char * | GetTypeName () const |
Return type name of element in the branch. | |
Double_t | GetValue (Int_t i, Int_t len, bool subarr=false) const |
virtual void * | GetValuePointer () const |
Returns pointer to first data element of this branch. | |
TClass * | IsA () const override |
bool | IsBranchFolder () const |
bool | IsFolder () const override |
Return true if more than one leaf, false otherwise. | |
virtual bool | IsObjectOwner () const |
bool | Notify () override |
This method must be overridden to handle object notification (the base implementation is no-op). | |
void | Print (Option_t *option="") const override |
Print TBranch parameters. | |
void | PrintValue (Int_t i) const |
Prints values of leaves. | |
void | Reset (Option_t *option="") override |
Reset a Branch. | |
void | ResetAddress () override |
Set branch address to zero and free all allocated memory. | |
void | ResetAfterMerge (TFileMergeInfo *) override |
Reset a Branch after a Merge operation (drop data but keep customizations) | |
virtual void | ResetDeleteObject () |
Release ownership of any allocated objects. | |
virtual void | ResetInitInfo (bool recurse) |
Reset offset and StreamerInfo information from this branch. | |
void | SetAddress (void *addobj) override |
Point this branch at an object. | |
void | SetBasketSize (Int_t buffsize) override |
Reset the basket size for all sub-branches of this branch element. | |
virtual void | SetBranchFolder () |
virtual void | SetClassName (const char *name) |
bool | SetMakeClass (bool decomposeObj=true) override |
Set the branch in a mode where the object are decomposed (Also known as MakeClass mode). | |
virtual void | SetMissing () |
Set offset of the object (to which the data member represented by this branch belongs) inside its containing object (if any) to mark it as missing. | |
void | SetObject (void *objadd) override |
Set object this branch is pointing to. | |
void | SetOffset (Int_t offset) override |
Set offset of the object (to which the data member represented by this branch belongs) inside its containing object (if any). | |
void | SetParentClass (TClass *clparent) |
virtual void | SetParentName (const char *name) |
virtual void | SetTargetClass (const char *name) |
Set the name of the class of the in-memory object into which the data will loaded. | |
virtual void | SetType (Int_t btype) |
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 TBranchElement. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | Unroll (const char *name, TClass *cl, TStreamerInfo *sinfo, char *objptr, Int_t bufsize, Int_t splitlevel) |
Split class cl into sub-branches of this branch. | |
void | UpdateFile () override |
Refresh the value of fDirectory (i.e. | |
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 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 () |
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. | |
TBasket * | GetBasket (Int_t basket) |
Int_t * | GetBasketBytes () const |
Long64_t * | GetBasketEntry () const |
virtual Long64_t | GetBasketSeek (Int_t basket) const |
Return address of basket in the file. | |
virtual Int_t | GetBasketSize () const |
virtual TList * | GetBrowsables () |
Returns (and, if 0, creates) browsable objects for this branch See TVirtualBranchBrowsable::FillListOfBrowsables. | |
ROOT::Experimental::Internal::TBulkBranchRead & | GetBulkRead () |
Int_t | GetCompressionAlgorithm () const |
Int_t | GetCompressionLevel () const |
Int_t | GetCompressionSettings () const |
TDirectory * | GetDirectory () 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 TFile * | GetFile (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 |
TIOFeatures | GetIOFeatures () const |
Returns the IO settings currently in use for this branch. | |
virtual TLeaf * | GetLeaf (const char *name) const |
Return pointer to the 1st Leaf named name in thisBranch. | |
TObjArray * | GetListOfBaskets () |
TObjArray * | GetListOfBranches () |
TObjArray * | GetListOfLeaves () |
Int_t | GetMaxBaskets () const |
TBranch * | GetMother () 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 |
TBranch * | GetSubBranch (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. | |
TBuffer * | GetTransientBuffer (Int_t size) |
Returns the transient buffer currently used by this TBranch for reading/writing baskets. | |
TTree * | GetTree () 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 | IsAutoDelete () const |
Return true 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 | ResetReadEntry () |
virtual void | SetAutoDelete (bool autodel=true) |
Set the automatic delete bit. | |
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 updateSubBranches=false) |
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 void | SetStatus (bool status=true) |
Set branch status to Process or DoNotProcess. | |
virtual void | SetTree (TTree *tree) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
bool | SupportsBulkRead () const |
Returns true if this branch supports bulk IO, false otherwise. | |
virtual void | UpdateAddress () |
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 (""). | |
TObject * | Clone (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. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (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 TObject * | DrawClone (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 TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () 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_t * | GetOption () 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). | |
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) |
TObject & | operator= (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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TBranch | |
static TClass * | Class () |
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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Types | |
enum | EStatusBits { kBranchFolder = (1ULL << ( 14 )) , kDeleteObject = (1ULL << ( 16 )) , kCache = (1ULL << ( 18 )) , kOwnOnfileObj = (1ULL << ( 19 )) , kAddressSet = (1ULL << ( 20 )) , kMakeClass = (1ULL << ( 21 )) , kDecomposedObj = (1ULL << ( 21 )) } |
Types. 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 | BuildTitle (const char *name) |
Set branch and leaf name and title in the case of a container sub-branch. | |
void | FillLeavesAssociativeCollectionMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesClones (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesClonesMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesCollection (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesCollectionMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesCollectionSplitPtrMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesCollectionSplitVectorPtrMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesCustomStreamer (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesImpl (TBuffer &b) |
Unconfiguration Fill Leave function. | |
void | FillLeavesMakeClass (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesMember (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesMemberBranchCount (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
void | FillLeavesMemberCounter (TBuffer &b) |
Write leaves into i/o buffers for this branch. | |
TStreamerInfo * | FindOnfileInfo (TClass *valueClass, const TObjArray &branches) const |
TStreamerInfo * | GetInfoImp () const |
Get streamer info for the branch class. | |
TClass * | GetParentClass () |
Return a pointer to the parent class of the branch element. | |
void | Init (TTree *tree, TBranch *parent, const char *name, TClonesArray *clones, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) |
Init when the branch object is a TClonesArray. | |
void | Init (TTree *tree, TBranch *parent, const char *name, TStreamerInfo *sinfo, Int_t id, char *pointer, Int_t basketsize=32000, Int_t splitlevel=0, Int_t btype=0) |
Init when the branch object is not a TClonesArray nor an STL container. | |
void | Init (TTree *tree, TBranch *parent, const char *name, TVirtualCollectionProxy *cont, Int_t basketsize=32000, Int_t splitlevel=0, Int_t compress=ROOT::RCompressionSetting::EAlgorithm::kInherit) |
Init when the branch object is an STL collection. | |
virtual void | InitializeOffsets () |
Initialize the base class subobjects offsets of our sub-branches and set fOffset if we are a container sub-branch. | |
virtual void | InitInfo () |
Init the streamer info for the branch class, try to compensate for class code unload/reload and schema evolution. | |
bool | IsMissingCollection () const |
Detect a collection written using a zero pointer in old versions of root. | |
void | ReadLeavesClones (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesClonesMember (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesCollection (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesCollectionMember (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesCollectionSplitPtrMember (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesCollectionSplitVectorPtrMember (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesCustomStreamer (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesImpl (TBuffer &b) |
Unconfiguration Read Leave function. | |
void | ReadLeavesMakeClass (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesMember (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesMemberBranchCount (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReadLeavesMemberCounter (TBuffer &b) |
Read leaves into i/o buffers for this branch. | |
void | ReleaseObject () |
Delete any object we may have allocated on a previous call to SetAddress. | |
void | SetActionSequence (TClass *originalClass, TStreamerInfo *localInfo, TStreamerInfoActions::TActionSequence::SequenceGetter_t create, TStreamerInfoActions::TActionSequence *&actionSequence) |
Set the sequence of actions needed to read the data out of the buffer. | |
void | SetAddressImpl (void *addr, bool implied) override |
See TBranchElement::SetAddress. | |
void | SetBranchCount (TBranchElement *bre) |
Set the branch counter for this branch. | |
void | SetBranchCount2 (TBranchElement *bre) |
void | SetFillActionSequence () |
Set the sequence of actions needed to write the data out from the buffer. | |
void | SetFillLeavesPtr () |
Set the FillLeaves pointer to execute the expected operations. | |
void | SetReadActionSequence () |
Set the sequence of actions needed to read the data out of the buffer. | |
void | SetReadLeavesPtr () |
Set the ReadLeaves pointer to execute the expected operations. | |
void | SetupAddressesImpl () |
If the branch address is not set, we set all addresses starting with the top level parent branch. | |
void | SetupInfo () |
Set the value of fInfo. | |
Int_t | Unroll (const char *name, TClass *cltop, TClass *cl, char *ptr, Int_t basketsize, Int_t splitlevel, Int_t btype) |
Split class cl into sub-branches of this branch. | |
void | ValidateAddress () const |
Protected Member Functions inherited from TBranch | |
void | FillLeavesImpl (TBuffer &b) |
Loop on all leaves of this branch to fill Basket buffer. | |
TBasket * | GetFreshBasket (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. | |
TBasket * | GetFreshCluster (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. | |
void | SetSkipZip (bool skip=true) |
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 | |
TClassRef | fBranchClass |
! Reference to class definition in fClassName | |
TBranchElement * | fBranchCount |
pointer to primary branchcount branch | |
TBranchElement * | fBranchCount2 |
pointer to secondary branchcount branch | |
Int_t | fBranchID |
! ID number assigned by a TRefTable. | |
Int_t * | fBranchOffset |
! Sub-Branch offsets with respect to current transient class | |
UInt_t | fCheckSum |
CheckSum of class. | |
TString | fClassName |
Class name of referenced object. | |
Version_t | fClassVersion |
Version number of class. | |
TClassRef | fClonesClass |
! Reference to class definition in fClonesName | |
TString | fClonesName |
Name of class in TClonesArray (if any) | |
TVirtualCollectionProxy * | fCollProxy |
! collection interface (if any) | |
TClassRef | fCurrentClass |
! Reference to current (transient) class definition | |
TStreamerInfoActions::TActionSequence * | fFillActionSequence |
! Set of actions to be executed to write the data to the basket. | |
Int_t | fID |
element serial number in fInfo | |
TStreamerInfo * | fInfo |
! Pointer to StreamerInfo | |
bool | fInInitInfo: 1 |
! True during the 2nd part of InitInfo (cut recursion). | |
bool | fInit: 1 |
! Initialization flag for branch assignment | |
bool | fInitOffsets: 1 |
! Initialization flag to not endlessly recalculate offsets | |
TVirtualCollectionIterators * | fIterators |
! holds the iterators when the branch is of fType==4. | |
Int_t | fMaximum |
Maximum entries for a TClonesArray or variable array. | |
Int_t | fNdata |
! Number of data in this branch | |
TStreamerInfoActions::TIDs | fNewIDs |
! Nested List of the serial number of all the StreamerInfo to be used. | |
char * | fObject |
! Pointer to object at *fAddress | |
TVirtualArray * | fOnfileObject |
! Place holder for the onfile representation of data members. | |
TClassRef | fParentClass |
! Reference to class definition in fParentName | |
TString | fParentName |
Name of parent class. | |
TVirtualCollectionPtrIterators * | fPtrIterators |
! holds the iterators when the branch is of fType==4 and it is a split collection of pointers. | |
TStreamerInfoActions::TActionSequence * | fReadActionSequence |
! Set of actions to be executed to extract the data from the basket. | |
Int_t | fSTLtype |
! STL container type | |
Int_t | fStreamerType |
branch streamer type | |
TClassRef | fTargetClass |
! Reference to the target in-memory class | |
Int_t | fType |
Branch type. | |
TVirtualCollectionIterators * | fWriteIterators |
! holds the read (non-staging) iterators when the branch is of fType==4 and associative containers. | |
Protected Attributes inherited from TBranch | |
char * | fAddress |
! Address of 1st leaf (variable or object) | |
Int_t * | fBasketBytes |
[fMaxBaskets] Length of baskets on file | |
Long64_t * | fBasketEntry |
[fMaxBaskets] Table of first entry in each basket | |
TObjArray | fBaskets |
-> List of baskets of this branch | |
Long64_t * | fBasketSeek |
[fMaxBaskets] Addresses of baskets on file | |
Int_t | fBasketSize |
Initial Size of Basket Buffer. | |
TObjArray | fBranches |
-> List of Branches of this branch | |
TList * | fBrowsables |
! 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. | |
TBasket * | fCurrentBasket |
! Pointer to the current basket. | |
TDirectory * | fDirectory |
! Pointer to directory where this branch buffers are stored | |
Long64_t | fEntries |
Number of entries. | |
TBuffer * | fEntryBuffer |
! 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. | |
TBasket * | fExtraBasket |
! 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. | |
TBranch * | fMother |
! 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. | |
TBranch * | fParent |
! 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 | 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. | |
TBuffer * | fTransientBuffer |
! Pointer to the current transient buffer. | |
TTree * | fTree |
! 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 | |
TBranchElement (const TBranchElement &)=delete | |
Int_t | FillImpl (ROOT::Internal::TBranchIMTHelper *) override |
Loop on all leaves of this branch to fill the basket buffer. | |
TBranchElement & | operator= (const TBranchElement &)=delete |
Static Private Member Functions | |
static void | SwitchContainer (TObjArray *) |
Modify the container type of the branches. | |
Friends | |
class | TLeafElement |
class | TTreeCloner |
Additional Inherited Members | |
Static Protected Attributes inherited from TBranch | |
static Int_t | fgCount = 0 |
! branch counter | |
#include <TBranchElement.h>
Enumerator | |
---|---|
kLeafNode | |
kBaseClassNode | |
kObjectNode | |
kClonesNode | |
kSTLNode | |
kClonesMemberNode | |
kSTLMemberNode |
Definition at line 238 of file TBranchElement.h.
|
protected |
Types.
Definition at line 47 of file TBranchElement.h.
|
privatedelete |
TBranchElement::TBranchElement | ( | ) |
Default and I/O constructor.
Definition at line 133 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TTree * | tree, |
const char * | bname, | ||
TStreamerInfo * | sinfo, | ||
Int_t | id, | ||
char * | pointer, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | btype = 0 |
||
) |
Constructor when the branch object is not a TClonesArray nor an STL container.
If splitlevel > 0 this branch in turn is split into sub-branches.
Definition at line 178 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TTree * | tree, |
const char * | bname, | ||
TClonesArray * | clones, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | compress = ROOT::RCompressionSetting::EAlgorithm::kInherit |
||
) |
Constructor when the branch object is a TClonesArray.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 662 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TTree * | tree, |
const char * | bname, | ||
TVirtualCollectionProxy * | cont, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | compress = ROOT::RCompressionSetting::EAlgorithm::kInherit |
||
) |
Constructor when the branch object is an STL collection.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 817 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TBranch * | parent, |
const char * | bname, | ||
TStreamerInfo * | sinfo, | ||
Int_t | id, | ||
char * | pointer, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | btype = 0 |
||
) |
Constructor when the branch object is not a TClonesArray nor an STL container.
If splitlevel > 0 this branch in turn is split into sub-branches.
Definition at line 225 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TBranch * | parent, |
const char * | bname, | ||
TClonesArray * | clones, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | compress = ROOT::RCompressionSetting::EAlgorithm::kInherit |
||
) |
Constructor when the branch object is a TClonesArray.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 689 of file TBranchElement.cxx.
TBranchElement::TBranchElement | ( | TBranch * | parent, |
const char * | bname, | ||
TVirtualCollectionProxy * | cont, | ||
Int_t | basketsize = 32000 , |
||
Int_t | splitlevel = 0 , |
||
Int_t | compress = ROOT::RCompressionSetting::EAlgorithm::kInherit |
||
) |
Constructor when the branch object is an STL collection.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 843 of file TBranchElement.cxx.
|
override |
Destructor.
Definition at line 975 of file TBranchElement.cxx.
|
overridevirtual |
Browse the branch content.
Reimplemented from TBranch.
Definition at line 1032 of file TBranchElement.cxx.
|
protected |
Set branch and leaf name and title in the case of a container sub-branch.
Definition at line 1144 of file TBranchElement.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 255 of file TBranchElement.h.
|
inlinestatic |
Definition at line 255 of file TBranchElement.h.
|
overrideprivatevirtual |
Loop on all leaves of this branch to fill the basket buffer.
The function returns the number of bytes committed to the individual branches. If a write error occurs, the number of bytes returned is -1. If no data are written, because, e.g., the branch is disabled, the number of bytes returned is 0.
Note: We not not use any member functions from TLeafElement!
Reimplemented from TBranch.
Definition at line 1229 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 1561 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a TClonesArray (fType == 3).
Definition at line 1592 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a data member within a TClonesArray (fType == 31).
Definition at line 1617 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a collection (fType == 4).
Definition at line 1426 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 1530 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 1499 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 1469 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
Case of a non TObject, non collection class with a custom streamer
Definition at line 1646 of file TBranchElement.cxx.
|
protected |
Unconfiguration Fill Leave function.
Definition at line 4665 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
For the case where the branch is set in MakeClass mode (decomposed object).
Definition at line 1320 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do not have a branch count and are not a counter.
Definition at line 1734 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do have a branch count and are not a counter.
Definition at line 1676 of file TBranchElement.cxx.
|
protected |
Write leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do not have a branch count and are a counter.
Definition at line 1697 of file TBranchElement.cxx.
|
overridevirtual |
Find the immediate sub-branch with passed name.
Reimplemented from TBranch.
Definition at line 1787 of file TBranchElement.cxx.
|
overridevirtual |
Find the leaf corresponding to the name 'searchname'.
Reimplemented from TBranch.
Definition at line 1872 of file TBranchElement.cxx.
|
protected |
Definition at line 1934 of file TBranchElement.cxx.
|
overridevirtual |
Get the branch address.
If we are not owned by a MakeClass() tree:
to the pointer to our object.
If we are not a top-level branch, return a pointer to our object.
If we are owned by a MakeClass() tree:
Reimplemented from TBranch.
Definition at line 1923 of file TBranchElement.cxx.
|
inline |
Definition at line 182 of file TBranchElement.h.
|
inline |
Definition at line 183 of file TBranchElement.h.
|
inline |
Definition at line 184 of file TBranchElement.h.
|
inline |
Definition at line 185 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 187 of file TBranchElement.h.
|
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 186 of file TBranchElement.h.
|
inline |
Definition at line 210 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 188 of file TBranchElement.h.
TVirtualCollectionProxy * TBranchElement::GetCollectionProxy | ( | ) |
Return the collection proxy describing the branch content, if any.
Definition at line 2527 of file TBranchElement.cxx.
TClass * TBranchElement::GetCurrentClass | ( | ) |
Return a pointer to the current type of the data member corresponding to branch element.
Definition at line 2600 of file TBranchElement.cxx.
Read all branches of a BranchElement and return total number of bytes.
Returns the number of bytes read from the input buffer.
See IMPORTANT REMARKS in TTree::GetEntry.
Reimplemented from TBranch.
Definition at line 2671 of file TBranchElement.cxx.
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 2804 of file TBranchElement.cxx.
|
overridevirtual |
Return the 'full' name of the branch.
In particular prefix the mother's name when it does not end in a trailing dot and thus is not part of the branch name
Reimplemented from TBranch.
Definition at line 2839 of file TBranchElement.cxx.
|
overridevirtual |
Return icon name depending on type of branch element.
Reimplemented from TBranch.
Definition at line 2853 of file TBranchElement.cxx.
|
inline |
Definition at line 195 of file TBranchElement.h.
TStreamerInfo * TBranchElement::GetInfo | ( | ) | const |
Get streamer info for the branch class.
Definition at line 1024 of file TBranchElement.cxx.
|
inlineprotected |
Get streamer info for the branch class.
Definition at line 1011 of file TBranchElement.cxx.
|
overridevirtual |
Return whether this branch is in a mode where the object are decomposed or not (Also known as MakeClass mode).
Reimplemented from TBranch.
Definition at line 2866 of file TBranchElement.cxx.
|
virtual |
Return maximum count value of the branchcount if any.
Definition at line 2874 of file TBranchElement.cxx.
|
inline |
Definition at line 202 of file TBranchElement.h.
char * TBranchElement::GetObject | ( | ) | const |
Return a pointer to our object.
Definition at line 2885 of file TBranchElement.cxx.
|
inline |
Definition at line 199 of file TBranchElement.h.
|
protected |
Return a pointer to the parent class of the branch element.
Definition at line 2894 of file TBranchElement.cxx.
|
inlinevirtual |
Definition at line 200 of file TBranchElement.h.
|
inline |
Definition at line 204 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 205 of file TBranchElement.h.
|
inline |
Definition at line 203 of file TBranchElement.h.
T TBranchElement::GetTypedValue | ( | Int_t | i, |
Int_t | len, | ||
bool | subarr = false |
||
) | const |
Definition at line 2952 of file TBranchElement.cxx.
|
virtual |
Return type name of element in the branch.
Definition at line 2902 of file TBranchElement.cxx.
Definition at line 207 of file TBranchElement.h.
|
virtual |
Returns pointer to first data element of this branch.
Currently used only for members of type character.
Definition at line 3054 of file TBranchElement.cxx.
|
protected |
Init when the branch object is a TClonesArray.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 716 of file TBranchElement.cxx.
|
protected |
Init when the branch object is not a TClonesArray nor an STL container.
If splitlevel > 0 this branch in turn is split into sub-branches.
Definition at line 270 of file TBranchElement.cxx.
|
protected |
Init when the branch object is an STL collection.
If splitlevel > 0 this branch in turn is split into sub branches.
Definition at line 869 of file TBranchElement.cxx.
|
protectedvirtual |
Initialize the base class subobjects offsets of our sub-branches and set fOffset if we are a container sub-branch.
Note: The offsets are zero for data members so that when SetAddress recursively sets their address, they will get the same address as their containing class because i/o is based on streamer info offsets from the address of the containing class.
Offsets are non-zero for base-class sub-branches that are not the leftmost direct base class. They are laid out in memory sequentially and only the leftmost direct base class has the same address as the derived class. The streamer offsets need to be added to the address of the base class subobject which is not the same as the address of the derived class for the non-leftmost direct base classes.
Definition at line 3137 of file TBranchElement.cxx.
|
protectedvirtual |
Init the streamer info for the branch class, try to compensate for class code unload/reload and schema evolution.
Definition at line 2209 of file TBranchElement.cxx.
|
inlineoverridevirtual |
Reimplemented from TBranch.
Definition at line 255 of file TBranchElement.h.
|
inline |
Definition at line 211 of file TBranchElement.h.
|
overridevirtual |
Return true if more than one leaf, false otherwise.
Reimplemented from TBranch.
Definition at line 3758 of file TBranchElement.cxx.
|
protected |
Detect a collection written using a zero pointer in old versions of root.
In versions of ROOT older than 4.00/03, if a collection (TClonesArray or STL container) was split but the pointer to the collection was zeroed out, nothing was saved. Hence there is no easy way to detect the case. In newer versions, a zero is written so that a 'missing' collection appears to be an empty collection.
Definition at line 3776 of file TBranchElement.cxx.
|
inlinevirtual |
Definition at line 213 of file TBranchElement.h.
|
inlineoverridevirtual |
This method must be overridden to handle object notification (the base implementation is no-op).
Different objects in ROOT use the Notify
method for different purposes, in coordination with other objects that call this method at the appropriate time.
For example, TLeaf
uses it to load class information; TBranchRef
to load contents of referenced branches TBranchRef
; most notably, based on Notify
, TChain
implements a callback mechanism to inform interested parties when it switches to a new sub-tree.
Reimplemented from TObject.
Definition at line 214 of file TBranchElement.h.
|
privatedelete |
|
overridevirtual |
Print TBranch parameters.
If options contains "basketsInfo" print the entry number, location and size of each baskets.
Reimplemented from TBranch.
Definition at line 3836 of file TBranchElement.cxx.
void TBranchElement::PrintValue | ( | Int_t | i | ) | const |
Prints values of leaves.
Definition at line 3929 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a TClonesArray (fType == 3).
Definition at line 4463 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a data member within a TClonesArray (fType == 31).
Definition at line 4500 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a collection (fType == 4).
Definition at line 4268 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 4430 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 4366 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Case of a data member within a collection (fType == 41).
Definition at line 4399 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
Non TObject, Non collection classes with a custom streamer.
Definition at line 4648 of file TBranchElement.cxx.
|
protected |
Unconfiguration Read Leave function.
Definition at line 4015 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
For the case where the branch is set in MakeClass mode (decomposed object).
Definition at line 4024 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do not have a branch count and are not a counter.
Definition at line 4537 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do have a branch count and are not a counter.
Definition at line 4575 of file TBranchElement.cxx.
|
protected |
Read leaves into i/o buffers for this branch.
For split-class branch, base class branch, data member branch, or top-level branch. which do not have a branch count and are a counter.
Definition at line 4612 of file TBranchElement.cxx.
|
protected |
Delete any object we may have allocated on a previous call to SetAddress.
Definition at line 4673 of file TBranchElement.cxx.
|
overridevirtual |
Reset a Branch.
Existing i/o buffers are deleted. Entries, max and min are reset.
Reimplemented from TBranch.
Definition at line 4753 of file TBranchElement.cxx.
|
overridevirtual |
Set branch address to zero and free all allocated memory.
Reimplemented from TBranch.
Definition at line 4781 of file TBranchElement.cxx.
|
overridevirtual |
Reset a Branch after a Merge operation (drop data but keep customizations)
Reimplemented from TBranch.
Definition at line 4768 of file TBranchElement.cxx.
|
virtual |
Release ownership of any allocated objects.
Note: This interface was added so that clone trees could be told they do not own the allocated objects.
Definition at line 4815 of file TBranchElement.cxx.
|
virtual |
Reset offset and StreamerInfo information from this branch.
[in] | recurse | When true call ResetInitInfo on all subbranches. |
Definition at line 4832 of file TBranchElement.cxx.
|
protected |
Set the sequence of actions needed to read the data out of the buffer.
Definition at line 5629 of file TBranchElement.cxx.
|
overridevirtual |
Point this branch at an object.
For a sub-branch, addr is a pointer to the branch object.
For a top-level branch the meaning of addr is as follows:
If addr is zero, then we allocate a branch object internally and the branch is the owner of the allocated object, not the caller. However the caller may obtain a pointer to the branch object with GetObject(). The pointer is reset to zero (nullptr) when the relevant branch object is destroyed.
Example:
If addr is not zero, but the pointer addr points at is zero, then we allocate a branch object and set the passed pointer to point at the allocated object. The caller owns the allocated object and is responsible for deleting it when it is no longer needed.
Example:
If addr is not zero and the pointer addr points at is also not zero, then the caller has allocated a branch object and is asking us to use it. The caller owns it and must delete it when it is no longer needed.
Example:
These rules affect users of TTree::Branch(), TTree::SetBranchAddress(), and TChain::SetBranchAddress() as well because those routines call this one.
An example of a tree with branches with objects allocated and owned by us:
An example of a branch with an object allocated by us, but owned by the caller:
Notice that the only difference between this example and the following example is that the event pointer is zero when the branch is created.
An example of a branch with an object allocated and owned by the caller:
If AutoDelete is on (see TBranch::SetAutoDelete), the top level objet will be deleted and recreate each time an entry is read, whether or not the TTree owns the object.
Reimplemented from TBranch.
Definition at line 4963 of file TBranchElement.cxx.
|
overrideprotectedvirtual |
See TBranchElement::SetAddress.
If implied is true, we do not over-ride existing address for sub-branches.
Reimplemented from TBranch.
Definition at line 4971 of file TBranchElement.cxx.
|
overridevirtual |
Reset the basket size for all sub-branches of this branch element.
Reimplemented from TBranch.
Definition at line 5517 of file TBranchElement.cxx.
|
protected |
Set the branch counter for this branch.
Definition at line 5530 of file TBranchElement.cxx.
|
inlineprotected |
Definition at line 124 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 226 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 227 of file TBranchElement.h.
|
protected |
Set the sequence of actions needed to write the data out from the buffer.
Definition at line 5764 of file TBranchElement.cxx.
|
protected |
Set the FillLeaves pointer to execute the expected operations.
Definition at line 5812 of file TBranchElement.cxx.
Set the branch in a mode where the object are decomposed (Also known as MakeClass mode).
Return whether the setting was possible (it is not possible for TBranch and TBranchObject).
Reimplemented from TBranch.
Definition at line 5555 of file TBranchElement.cxx.
|
virtual |
Set offset of the object (to which the data member represented by this branch belongs) inside its containing object (if any) to mark it as missing.
Definition at line 5612 of file TBranchElement.cxx.
|
overridevirtual |
Set object this branch is pointing to.
Reimplemented from TBranch.
Definition at line 5576 of file TBranchElement.cxx.
|
overridevirtual |
Set offset of the object (to which the data member represented by this branch belongs) inside its containing object (if any).
Reimplemented from TBranch.
Definition at line 5589 of file TBranchElement.cxx.
|
inline |
Definition at line 258 of file TBranchElement.h.
|
inlinevirtual |
Definition at line 231 of file TBranchElement.h.
|
protected |
Set the sequence of actions needed to read the data out of the buffer.
Definition at line 5664 of file TBranchElement.cxx.
|
protected |
Set the ReadLeaves pointer to execute the expected operations.
Definition at line 5712 of file TBranchElement.cxx.
|
virtual |
Set the name of the class of the in-memory object into which the data will loaded.
Definition at line 5856 of file TBranchElement.cxx.
|
inlinevirtual |
Definition at line 234 of file TBranchElement.h.
|
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 5893 of file TBranchElement.cxx.
|
protected |
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.
Definition at line 5910 of file TBranchElement.cxx.
|
protected |
Set the value of fInfo.
This is part one of InitInfo. To be used as: if (!fInfo) SetupInfo(); It would only be used within InitInfo (and its callees)
Definition at line 2119 of file TBranchElement.cxx.
|
overridevirtual |
Stream an object of class TBranchElement.
Reimplemented from TBranch.
Definition at line 5965 of file TBranchElement.cxx.
|
inline |
Definition at line 255 of file TBranchElement.h.
|
staticprivate |
Modify the container type of the branches.
Definition at line 85 of file TBranchElement.cxx.
void TBranchElement::Unroll | ( | const char * | name, |
TClass * | cl, | ||
TStreamerInfo * | sinfo, | ||
char * | objptr, | ||
Int_t | bufsize, | ||
Int_t | splitlevel | ||
) |
Split class cl into sub-branches of this branch.
This version of Unroll was formerly embedded in TTree::BronchExec It is moved here so we can make sure to call SetReadActionSequence.
Definition at line 6079 of file TBranchElement.cxx.
|
protected |
Split class cl into sub-branches of this branch.
Create a sub-branch of this branch for each non-empty, non-abstract base class of cl (unless we are a sub-branch of a TClonesArray or an STL container, in which case we do not create a sub-branch), and for each non-split data member of cl.
Note: We do not create sub-branches for base classes of cl if we are a sub-branch of a TClonesArray or an STL container.
Note: We do not create sub-branches for data members which have a class type and which we are splitting.
Note: The above rules imply that the branch hierarchy increases in depth only for base classes of cl (unless we are inside of a TClonesArray or STL container, in which case the depth does not increase, the base class is elided) and for TClonesArray or STL container data members (which have one additional level of sub-branches). The only other way the depth increases is when the top-level branch has a split class data member, in that case the constructor will create a sub-branch for it. In other words, the interior nodes of the branch tree are all either: base class nodes; split class nodes which are direct sub-branches of top-level nodes (created by TClass::Bronch usually); or TClonesArray or STL container master nodes.
Note: The exception to the above is for the top-level branches, Tree::Bronch creates nodes for everything in that case, except for a TObject base class of a class which has the can ignore tobject streamer flag set.
Definition at line 6213 of file TBranchElement.cxx.
|
overridevirtual |
Refresh the value of fDirectory (i.e.
where this branch writes/reads its buffers) with the current value of fTree->GetCurrentFile unless this branch has been redirected to a different file. Also update the sub-branches.
Reimplemented from TBranch.
Definition at line 6425 of file TBranchElement.cxx.
|
inlineprotected |
Definition at line 264 of file TBranchElement.h.
|
friend |
Definition at line 43 of file TBranchElement.h.
|
friend |
Definition at line 42 of file TBranchElement.h.
|
protected |
! Reference to class definition in fClassName
Definition at line 94 of file TBranchElement.h.
|
protected |
pointer to primary branchcount branch
Definition at line 83 of file TBranchElement.h.
|
protected |
pointer to secondary branchcount branch
Definition at line 84 of file TBranchElement.h.
|
protected |
! ID number assigned by a TRefTable.
Definition at line 97 of file TBranchElement.h.
|
protected |
! Sub-Branch offsets with respect to current transient class
Definition at line 96 of file TBranchElement.h.
|
protected |
CheckSum of class.
Definition at line 64 of file TBranchElement.h.
|
protected |
Class name of referenced object.
Definition at line 60 of file TBranchElement.h.
|
protected |
Version number of class.
Definition at line 65 of file TBranchElement.h.
|
protected |
! Reference to class definition in fClonesName
Definition at line 95 of file TBranchElement.h.
|
protected |
Name of class in TClonesArray (if any)
Definition at line 62 of file TBranchElement.h.
|
protected |
! collection interface (if any)
Definition at line 63 of file TBranchElement.h.
|
protected |
! Reference to current (transient) class definition
Definition at line 92 of file TBranchElement.h.
|
protected |
! Set of actions to be executed to write the data to the basket.
Definition at line 100 of file TBranchElement.h.
|
protected |
element serial number in fInfo
Definition at line 66 of file TBranchElement.h.
|
protected |
! Pointer to StreamerInfo
Definition at line 85 of file TBranchElement.h.
|
protected |
! True during the 2nd part of InitInfo (cut recursion).
Definition at line 89 of file TBranchElement.h.
|
protected |
! Initialization flag for branch assignment
Definition at line 88 of file TBranchElement.h.
|
protected |
! Initialization flag to not endlessly recalculate offsets
Definition at line 90 of file TBranchElement.h.
|
protected |
! holds the iterators when the branch is of fType==4.
Definition at line 101 of file TBranchElement.h.
|
protected |
Maximum entries for a TClonesArray or variable array.
Definition at line 80 of file TBranchElement.h.
|
protected |
! Number of data in this branch
Definition at line 82 of file TBranchElement.h.
|
protected |
! Nested List of the serial number of all the StreamerInfo to be used.
Definition at line 98 of file TBranchElement.h.
|
protected |
! Pointer to object at *fAddress
Definition at line 86 of file TBranchElement.h.
|
protected |
! Place holder for the onfile representation of data members.
Definition at line 87 of file TBranchElement.h.
|
protected |
! Reference to class definition in fParentName
Definition at line 93 of file TBranchElement.h.
|
protected |
Name of parent class.
Definition at line 61 of file TBranchElement.h.
|
protected |
! holds the iterators when the branch is of fType==4 and it is a split collection of pointers.
Definition at line 103 of file TBranchElement.h.
|
protected |
! Set of actions to be executed to extract the data from the basket.
Definition at line 99 of file TBranchElement.h.
|
protected |
! STL container type
Definition at line 81 of file TBranchElement.h.
|
protected |
branch streamer type
Definition at line 79 of file TBranchElement.h.
|
protected |
! Reference to the target in-memory class
Definition at line 91 of file TBranchElement.h.
|
protected |
Branch type.
Note on fType values:
Definition at line 67 of file TBranchElement.h.
|
protected |
! holds the read (non-staging) iterators when the branch is of fType==4 and associative containers.
Definition at line 102 of file TBranchElement.h.