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

Describes a persistent version of a class.

A ROOT file contains the list of TStreamerInfo objects for all the class versions written to this file. When reading a file, all the TStreamerInfo objects are read back in memory and registered to the TClass list of TStreamerInfo. One can see the list and contents of the TStreamerInfo on a file with, e.g.,

TFile f("myfile.root");
f.ShowStreamerInfo();
#define f(i)
Definition RSha256.hxx:104
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
Definition TFile.h:130

A TStreamerInfo is a list of TStreamerElement objects (one per data member or base class). When streaming an object, the system (TClass) loops on all the TStreamerElement objects and calls the appropriate function for each element type.

Definition at line 39 of file TStreamerInfo.h.

Classes

class  TCompInfo
class  TPointerCollectionAdapter

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EReadWrite {
  kBase = 0 , kOffsetL = 20 , kOffsetP = 40 , kChar = 1 ,
  kShort = 2 , kInt = 3 , kLong = 4 , kFloat = 5 ,
  kCounter = 6 , kCharStar = 7 , kDouble = 8 , kDouble32 = 9 ,
  kLegacyChar = 10 , kUChar = 11 , kUShort = 12 , kUInt = 13 ,
  kULong = 14 , kBits = 15 , kLong64 = 16 , kULong64 = 17 ,
  kBool = 18 , kFloat16 = 19 , kObject = 61 , kAny = 62 ,
  kObjectp = 63 , kObjectP = 64 , kTString = 65 , kTObject = 66 ,
  kTNamed = 67 , kAnyp = 68 , kAnyP = 69 , kAnyPnoVT = 70 ,
  kSTLp = 71 , kSkip = 100 , kSkipL = 120 , kSkipP = 140 ,
  kConv = 200 , kConvL = 220 , kConvP = 240 , kSTL = ROOT::kSTLany ,
  kSTLstring = ROOT::kSTLstring , kStreamer = 500 , kStreamLoop = 501 , kCache = 600 ,
  kArtificial = 1000 , kCacheNew = 1001 , kCacheDelete = 1002 , kNeedObjectForVirtualBaseClass = 99997 ,
  kMissing = 99999 , kNoType = -1 , kUnsupportedConversion = -2 , kUnset = -3
}
 EReadWrite Enumerator. More...
enum  EStatusBits {
  kCannotOptimize = (1ULL << (12)) , kIgnoreTObjectStreamer = (1ULL << (13)) , kRecovered = (1ULL << (14)) , kNeedCheck = (1ULL << (15)) ,
  kIsCompiled = (1ULL << (16)) , kBuildOldUsed = (1ULL << (17)) , kBuildRunning = (1ULL << (18))
}
enum class  EStatusBitsDupExceptions { kIgnoreTObjectStreamer = TVirtualStreamerInfo::kIgnoreTObjectStreamer }
typedef TCompInfo TCompInfo_t

Public Member Functions

 TStreamerInfo ()
 Status bits See TVirtualStreamerInfo::EStatusBits for the values.
 TStreamerInfo (TClass *cl)
 Create a TStreamerInfo object.
 ~TStreamerInfo () override
 TStreamerInfo dtor.
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
void Build (Bool_t isTransient=kFALSE) override
 Build the I/O data structure for the current class version.
void BuildCheck (TFile *file=nullptr, Bool_t load=kTRUE) override
 Check if built and consistent with the class dictionary.
void BuildEmulated (TFile *file) override
 Create an Emulation TStreamerInfo object.
Bool_t BuildFor (const TClass *cl) override
 Check if we can build this for foreign class - do we have some rules to do that.
void BuildOld () override
 rebuild the TStreamerInfo structure
void CallShowMembers (const void *obj, TMemberInspector &insp, Bool_t isTransient) const override
 Emulated a call ShowMembers() on the obj of this class type, passing insp and parent.
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.
void Clear (Option_t *="") override
 If opt contains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (useful to force their re-running).
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.
Bool_t CompareContent (TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file) override
 Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo.
void Compile () override
 loop on the TStreamerElement list regroup members with same type Store predigested information into local arrays.
void ComputeSize ()
 Compute total size of all persistent elements of the class.
void Copy (TObject &named) const override
 Copy this to obj.
virtual void Delete (Option_t *option="")
 Delete this object.
void DeleteArray (void *p, Bool_t dtorOnly=kFALSE) override
 Destroy an array of emulated objects, with optional delete.
void Destructor (void *p, Bool_t dtorOnly=kFALSE) override
 Emulated destructor for this class.
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 void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
void ForceWriteInfo (TFile *file, Bool_t force=kFALSE) override
 Recursively mark streamer infos for writing to a file.
TClassStreamerGenEmulatedClassStreamer (const char *class_name, Bool_t silent) override
 Generate emulated class streamer for a given collection class.
TVirtualCollectionProxyGenEmulatedProxy (const char *class_name, Bool_t silent) override
 Generate emulated collection proxy for a given class.
Int_t GenerateHeaderFile (const char *dirname, const TList *subClasses=nullptr, const TList *extrainfos=nullptr) override
 Generate header file for the class described by this TStreamerInfo the function is called by TFile::MakeProject for each class in the file.
TVirtualStreamerInfoGenerateInfoForPair (const std::string &firstname, const std::string &secondname, bool silent, size_t hint_pair_offset, size_t hint_pair_size) override
 Generate the TClass and TStreamerInfo for the requested pair.
TVirtualStreamerInfoGenerateInfoForPair (const std::string &pairclassname, bool silent, size_t hint_pair_offset, size_t hint_pair_size) override
 Generate the TClass and TStreamerInfo for the requested pair.
TClassStreamerGenExplicitClassStreamer (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) override
 Generate class streamer from static functions.
TVirtualCollectionProxyGenExplicitProxy (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) override
 Generate proxy from static functions.
TClassGetActualClass (const void *obj) const override
 Assuming that obj points to (the part of) an object that is of the type described by this streamerInfo, return the actual type of the object (i.e.
UInt_t GetCheckSum () const override
UInt_t GetCheckSum (TClass::ECheckSum code) const
 Recalculate the checksum of this TStreamerInfo based on its code.
TClassGetClass () const override
size_t GetClassAlignment () const override
Int_t GetClassVersion () const override
Int_t GetDataMemberOffset (TDataMember *dm, TMemberStreamer *&streamer) const
 Compute data member offset.
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
TStreamerElementGetElem (Int_t id) const override
TStreamerElementGetElement (Int_t id) const override
Int_t GetElementOffset (Int_t id) const override
TObjArrayGetElements () const override
virtual const char * GetIconName () const
 Returns mime type name of object.
Int_t GetLength (Int_t id) const
ULongptr_t GetMethod (Int_t id) const
const char * GetName () const override
 Returns name of object.
Int_t GetNdata () const
Int_t GetNelement () const
Int_t GetNewType (Int_t id) const
Int_t GetNumber () const override
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
Int_t GetOffset (const char *) const override
 Return the offset of the data member as indicated by this StreamerInfo.
Int_t GetOffset (Int_t id) const override
Version_t GetOldVersion () const override
Int_t GetOnFileClassVersion () const override
virtual Option_tGetOption () const
TStreamerInfoActions::TActionSequenceGetReadMemberWiseActions (Bool_t forCollection)
TStreamerInfoActions::TActionSequenceGetReadObjectWiseActions ()
TStreamerInfoActions::TActionSequenceGetReadTextActions ()
Int_t GetSize () const override
 Return total size of all persistent elements of the class (with offsets).
Int_t GetSizeElements () const
 Return total size of all persistent elements of the class use GetSize if you want to get the real size in memory.
TStreamerElementGetStreamerElement (const char *datamember, Int_t &offset) const override
 Return the StreamerElement of "datamember" inside our class or any of its base classes.
TStreamerElementGetStreamerElementReal (Int_t i, Int_t j) const
 Obsolete: this routine is obsolete and should not longer be used.
const char * GetTitle () const override
 Returns title of object.
Int_t GetType (Int_t id) const
template<typename T>
GetTypedValue (char *pointer, Int_t i, Int_t j, Int_t len) const
 Return value of element i in object at pointer.
template<typename T>
GetTypedValueClones (TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
template<typename T>
GetTypedValueSTL (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 Return value of element i in object number j in an STL container and eventually element k in a sub-array.
template<typename T>
GetTypedValueSTLP (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 Return value of element i in object number j in a pointer to STL container and eventually element k in a sub-array.
virtual UInt_t GetUniqueID () const
 Return the unique object id.
Double_t GetValue (char *pointer, Int_t i, Int_t j, Int_t len) const
Double_t GetValueClones (TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Double_t GetValueSTL (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Double_t GetValueSTLP (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
TStreamerInfoActions::TActionSequenceGetWriteMemberWiseActions (Bool_t forCollection)
TStreamerInfoActions::TActionSequenceGetWriteObjectWiseActions ()
TStreamerInfoActions::TActionSequenceGetWriteTextActions ()
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
ULong_t Hash () const override
 Return hash value for this object.
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)
TClassIsA () const override
Bool_t IsBuilt () const
Bool_t IsCompiled () const
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).
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Bool_t IsOnHeap () const
Bool_t IsOptimized () const
Int_t IsRecovered () const
Bool_t IsSortable () const override
Bool_t IsZombie () const
void ls (Option_t *option="") const override
 List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig", also prints the original (non-optimized elements in the list of compiled elements.
Bool_t MatchLegacyCheckSum (UInt_t checksum) const
 Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm.
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 * New (void *obj=nullptr) override
 An emulated object is created at address obj, if obj is null we allocate memory for the object.
void * NewArray (Long_t nElements, void *ary=nullptr) override
 An array of emulated objects is created at address ary, if ary is null, we allocate memory for the array.
TVirtualStreamerInfoNewInfo (TClass *cl) override
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 *, size_t)
 Operator delete for sized deallocation.
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 *, size_t)
 Operator delete [] for sized deallocation.
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)
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.
void Print (Option_t *option="") const override
 Print TNamed name and title.
void PrintValue (const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const
 print value of element i in object at pointer The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.
void PrintValueClones (const char *name, TClonesArray *clones, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
 Print value of element i in a TClonesArray.
void PrintValueSTL (const char *name, TVirtualCollectionProxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
 Print value of element i in an STL container.
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
template<class T>
Int_t ReadBuffer (TBuffer &b, const T &arrptr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr=1, Int_t eoffset=0, Int_t mode=0)
 Deserialize information from buffer b into object at pointer if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.
template<class T>
Int_t ReadBufferArtificial (TBuffer &b, const T &arrptr, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Handle Artificial StreamerElement.
Int_t ReadBufferClones (TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
 Read for TClonesArray.
template<class T>
Int_t ReadBufferConv (TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Convert elements of a TClonesArray.
template<class T>
Int_t ReadBufferSkip (TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Skip an element.
Int_t ReadBufferSTL (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t eoffset, Bool_t v7=kTRUE)
 The STL vector/list is deserialized from the buffer b.
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.
void SetCheckSum (UInt_t checksum) override
void SetClass (TClass *cl) override
 Replace the TClass this streamerInfo is pointing to (belongs to).
void SetClassVersion (Int_t vers) override
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
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).
void SetOnFileClassVersion (Int_t vers)
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
void Streamer (TBuffer &) override
 Stream an object of class TStreamerInfo.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
void TagFile (TFile *fFile) override
 Mark the classindex of the current file as using this TStreamerInfo.
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
void Update (const TClass *oldClass, TClass *newClass) override
 function called by the TClass constructor when replacing an emulated class by the real class
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.
template<class T>
Int_t WriteBufferAux (TBuffer &b, const T &arr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr, Int_t eoffset, Int_t mode)
 The object at pointer is serialized to the buffer b if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.

Static Public Member Functions

static Bool_t CanDelete ()
 static function returning true if ReadBuffer can delete object
static Bool_t CanOptimize ()
 static function returning true if optimization can be on
static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static TVirtualStreamerInfoFactory ()
 Static function returning a pointer to a new TVirtualStreamerInfo object.
static TStreamerElementGetCurrentElement ()
 static function returning a pointer to the current TStreamerElement fgElement points to the current TStreamerElement being read in ReadBuffer
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static TStreamerBasicTypeGetElementCounter (const char *countName, TClass *cl)
 Get pointer to a TStreamerBasicType in TClass *cl static function.
static const char * GetElementCounterStart (const char *dmTitle)
 Given a comment/title declaring an array counter, for example:
static Bool_t GetObjectStat ()
 Get status of object stat flag.
static Bool_t GetStreamMemberWise ()
 Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.
static void Optimize (Bool_t opt=kTRUE)
 This is a static function.
static void SetCanDelete (Bool_t opt=kTRUE)
 This is a static function.
static void SetDtorOnly (void *obj)
 Set destructor only flag.
static void SetFactory (TVirtualStreamerInfo *factory)
 static function: Set the StreamerInfo factory
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
static Bool_t SetStreamMemberWise (Bool_t enable=kTRUE)
 Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.

Protected Types

enum  { kOnlyPrepStep = (1ULL << (3)) }

Protected Member Functions

virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
void MakeZombie ()
void ResetIsCompiled ()
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
 Save object name and title into the output stream "out".
void SetIsCompiled ()

Static Protected Member Functions

static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

Bool_t fIsBuilt: 1
 ! true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have)
std::atomic< Bool_tfIsCompiled
 ! true if the StreamerInfo has been compiled (i.e. fully built, ready to use for streaming).
TString fName
Bool_t fOptimized: 1
 ! true if the StreamerInfo has been optimized
TString fTitle

Static Protected Attributes

static Bool_t fgCanDelete = kTRUE
static TVirtualStreamerInfofgInfoFactory = nullptr
static Bool_t fgOptimize = kTRUE
static Bool_t fgStreamMemberWise = kTRUE

Private Member Functions

 TStreamerInfo (const TStreamerInfo &)=delete
void AddReadAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read action for the given element.
void AddReadMemberWiseVecPtrAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read action for the given element.
void AddReadTextAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read text action for the given element.
void AddWriteAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
void AddWriteMemberWiseVecPtrAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
 This is for streaming via a TClonesArray (or a vector of pointers of this type).
void AddWriteTextAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
void DestructorImpl (void *p, Bool_t dtorOnly)
 Internal part of the destructor.
void GenerateDeclaration (FILE *fp, FILE *sfp, const TList *subClasses, Bool_t top=kTRUE)
 Write the Declaration of class.
UInt_t GenerateIncludes (FILE *fp, char *inclist, const TList *extrainfos)
 Add to the header file, the #include need for this class.
void InsertArtificialElements (std::vector< const ROOT::TSchemaRule * > &rules)
 Insert new members as expressed in the array of TSchemaRule(s).
TStreamerInfooperator= (const TStreamerInfo &)=delete
Int_t WriteBuffer (TBuffer &b, char *pointer, Int_t first)
 General Write.
Int_t WriteBufferClones (TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
 Write for ClonesArray ('first' is an id between -1 and fNfulldata).
Int_t WriteBufferSTL (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc)
 Write for STL container. ('first' is an id between -1 and fNfulldata).
Int_t WriteBufferSTLPtrs (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t first, Int_t eoffset)
 Write for STL container.

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.
template<typename T>
static T GetTypedValueAux (Int_t type, void *ladd, int k, Int_t len)
 Get the value from inside a collection.
static void PrintValueAux (char *ladd, Int_t atype, TStreamerElement *aElement, Int_t aleng, Int_t *count)
 print value of element in object at pointer, type atype, leng aleng or *count The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.

Private Attributes

size_t fAlignment
 !alignment of the memory representation of the class
UInt_t fBits
 bit field status word
UInt_t fCheckSum
 Checksum of original class.
TClassfClass
 !pointer to class
Int_t fClassVersion
 Class version identifier.
TCompInfofComp
 ![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info
TCompInfo ** fCompFull
 ![fElements->GetEntries()]
TCompInfo ** fCompOpt
 ![fNdata]
TObjArrayfElements
 Array of TStreamerElements.
Int_t fNdata
 !number of optimized elements
Int_t fNfulldata
 !number of elements
Int_t fNslots
 !total number of slots in fComp.
Int_t fNumber
 !Unique identifier
Int_t fNVirtualInfoLoc
 ! Number of virtual info location to update.
Version_t fOldVersion
 ! Version of the TStreamerInfo object read from the file
Int_t fOnFileClassVersion
 !Class version identifier as stored on file.
TStreamerInfoActions::TActionSequencefReadMemberWise
 ! List of read action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequencefReadMemberWiseVecPtr
 ! List of read action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequencefReadObjectWise
 ! List of read action resulting from the compilation.
TStreamerInfoActions::TActionSequencefReadText
 ! List of text read action resulting from the compilation, used for JSON.
Int_t fSize
 !size of the persistent class
UInt_t fUniqueID
 object unique identifier
ULong_tfVirtualInfoLoc
 ![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)
TStreamerInfoActions::TActionSequencefWriteMemberWise
 ! List of write action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequencefWriteMemberWiseVecPtr
 ! List of write action resulting from the compilation for use in member wise streaming.
TStreamerInfoActions::TActionSequencefWriteObjectWise
 ! List of write action resulting from the compilation.
TStreamerInfoActions::TActionSequencefWriteText
 ! List of text write action resulting for the compilation, used for JSON.

Static Private Attributes

static std::atomic< Int_tfgCount {0}
 Number of TStreamerInfo instances.
static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

Friends

class TStreamerInfoActions::TActionSequence

#include <TStreamerInfo.h>

Inheritance diagram for TStreamerInfo:
TVirtualStreamerInfo TNamed TObject

Member Typedef Documentation

◆ TCompInfo_t

Definition at line 66 of file TStreamerInfo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EReadWrite

EReadWrite Enumerator.

Enum Constant Description
kBase Base class element
kOffsetL Fixed size array
kOffsetP Pointer to object
kCounter Counter for array size
kCharStar Pointer to array of char
kLegacyChar Equal to TDataType's kchar
kBits TObject::fBits in case of a referenced object
kObject Class derived from TObject, or for TStreamerSTL::fCtype non-pointer elements
kObjectp Class* derived from TObject and with comment field //->Class, or for TStreamerSTL::fCtype: pointer elements
kObjectP Class* derived from TObject and with NO comment field //->Class
kAny Class not derived from TObject
kAnyp Class* not derived from TObject with comment field //->Class
kAnyP Class* not derived from TObject with NO comment field //->Class
kAnyPnoVT Class* not derived from TObject with NO comment field //->Class and Class has NO virtual table
kSTLp Pointer to STL container
kTString TString, special case
kTObject TObject, special case
kTNamed TNamed , special case
kCache Cache the value in memory than is not part of the object but is accessible via a SchemaRule
kNoType Indicator that we don't know the current type because the member does not exist in memory
kUnsupportedConversion The member type onfile and in memory can not be converted
kUnset default value
Enumerator
kBase 
kOffsetL 
kOffsetP 
kChar 
kShort 
kInt 
kLong 
kFloat 
kCounter 
kCharStar 
kDouble 
kDouble32 
kLegacyChar 
kUChar 

Equal to TDataType's kchar.

kUShort 
kUInt 
kULong 
kBits 
kLong64 
kULong64 
kBool 
kFloat16 
kObject 
kAny 
kObjectp 
kObjectP 
kTString 
kTObject 
kTNamed 
kAnyp 
kAnyP 
kAnyPnoVT 
kSTLp 
kSkip 
kSkipL 
kSkipP 
kConv 
kConvL 
kConvP 
kSTL 
kSTLstring 
kStreamer 
kStreamLoop 
kCache 
kArtificial 
kCacheNew 
kCacheDelete 
kNeedObjectForVirtualBaseClass 
kMissing 
kNoType 
kUnsupportedConversion 

Type corresponding to a 'missing' data member (with kMissing offset).

kUnset 

Definition at line 124 of file TVirtualStreamerInfo.h.

◆ EStatusBits

Enumerator
kCannotOptimize 
kIgnoreTObjectStreamer 
kRecovered 
kNeedCheck 
kIsCompiled 
kBuildOldUsed 
kBuildRunning 

Definition at line 72 of file TVirtualStreamerInfo.h.

◆ EStatusBitsDupExceptions

Enumerator
kIgnoreTObjectStreamer 

Definition at line 90 of file TVirtualStreamerInfo.h.

Constructor & Destructor Documentation

◆ TStreamerInfo() [1/3]

TStreamerInfo::TStreamerInfo ( const TStreamerInfo & )
privatedelete

◆ TStreamerInfo() [2/3]

TStreamerInfo::TStreamerInfo ( )

Status bits See TVirtualStreamerInfo::EStatusBits for the values.

Default ctor.

EReadWrite Enumerator See TVirtualStreamerInfo::EReadWrite for documentation and values.

Definition at line 147 of file TStreamerInfo.cxx.

◆ TStreamerInfo() [3/3]

TStreamerInfo::TStreamerInfo ( TClass * cl)

Create a TStreamerInfo object.

Definition at line 180 of file TStreamerInfo.cxx.

◆ ~TStreamerInfo()

TStreamerInfo::~TStreamerInfo ( )
override

TStreamerInfo dtor.

Definition at line 215 of file TStreamerInfo.cxx.

Member Function Documentation

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ AddReadAction()

void TStreamerInfo::AddReadAction ( TStreamerInfoActions::TActionSequence * readSequence,
Int_t index,
TStreamerInfo::TCompInfo * compinfo )
private

Add a read action for the given element.

Definition at line 4426 of file TStreamerInfoActions.cxx.

◆ AddReadMemberWiseVecPtrAction()

void TStreamerInfo::AddReadMemberWiseVecPtrAction ( TStreamerInfoActions::TActionSequence * readSequence,
Int_t i,
TStreamerInfo::TCompInfo * compinfo )
private

Add a read action for the given element.

This is for streaming via a TClonesArray (or a vector of pointers of this type).

Definition at line 4775 of file TStreamerInfoActions.cxx.

◆ AddReadTextAction()

void TStreamerInfo::AddReadTextAction ( TStreamerInfoActions::TActionSequence * readSequence,
Int_t index,
TStreamerInfo::TCompInfo * compinfo )
private

Add a read text action for the given element.

Definition at line 4706 of file TStreamerInfoActions.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ AddWriteAction()

void TStreamerInfo::AddWriteAction ( TStreamerInfoActions::TActionSequence * writeSequence,
Int_t index,
TStreamerInfo::TCompInfo * compinfo )
private

Definition at line 4791 of file TStreamerInfoActions.cxx.

◆ AddWriteMemberWiseVecPtrAction()

void TStreamerInfo::AddWriteMemberWiseVecPtrAction ( TStreamerInfoActions::TActionSequence * writeSequence,
Int_t index,
TStreamerInfo::TCompInfo * compinfo )
private

This is for streaming via a TClonesArray (or a vector of pointers of this type).

Definition at line 5152 of file TStreamerInfoActions.cxx.

◆ AddWriteTextAction()

void TStreamerInfo::AddWriteTextAction ( TStreamerInfoActions::TActionSequence * writeSequence,
Int_t index,
TStreamerInfo::TCompInfo * compinfo )
private

Definition at line 5055 of file TStreamerInfoActions.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ Browse()

◆ Build()

void TStreamerInfo::Build ( Bool_t isTransient = kFALSE)
overridevirtual

Build the I/O data structure for the current class version.

A list of TStreamerElement derived classes is built by scanning one by one the list of data members of the analyzed class.

Implements TVirtualStreamerInfo.

Definition at line 402 of file TStreamerInfo.cxx.

◆ BuildCheck()

void TStreamerInfo::BuildCheck ( TFile * file = nullptr,
Bool_t load = kTRUE )
overridevirtual

Check if built and consistent with the class dictionary.

This method is called by TFile::ReadStreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 918 of file TStreamerInfo.cxx.

◆ BuildEmulated()

void TStreamerInfo::BuildEmulated ( TFile * file)
overridevirtual

Create an Emulation TStreamerInfo object.

Implements TVirtualStreamerInfo.

Definition at line 1443 of file TStreamerInfo.cxx.

◆ BuildFor()

Bool_t TStreamerInfo::BuildFor ( const TClass * cl)
overridevirtual

Check if we can build this for foreign class - do we have some rules to do that.

Implements TVirtualStreamerInfo.

Definition at line 1480 of file TStreamerInfo.cxx.

◆ BuildOld()

void TStreamerInfo::BuildOld ( )
overridevirtual

rebuild the TStreamerInfo structure

Implements TVirtualStreamerInfo.

Definition at line 1894 of file TStreamerInfo.cxx.

◆ CallShowMembers()

void TStreamerInfo::CallShowMembers ( const void * obj,
TMemberInspector & insp,
Bool_t isTransient ) const
overridevirtual

Emulated a call ShowMembers() on the obj of this class type, passing insp and parent.

Implements TVirtualStreamerInfo.

Definition at line 3009 of file TStreamerInfo.cxx.

◆ CanDelete()

Bool_t TVirtualStreamerInfo::CanDelete ( )
staticinherited

static function returning true if ReadBuffer can delete object

Definition at line 77 of file TVirtualStreamerInfo.cxx.

◆ CanOptimize()

Bool_t TVirtualStreamerInfo::CanOptimize ( )
staticinherited

static function returning true if optimization can be on

Definition at line 85 of file TVirtualStreamerInfo.cxx.

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 256 of file TStreamerInfo.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ Clear()

void TStreamerInfo::Clear ( Option_t * option = "")
overridevirtual

If opt contains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (useful to force their re-running).

Implements TVirtualStreamerInfo.

Definition at line 2873 of file TStreamerInfo.cxx.

◆ Clone()

TObject * TStreamerInfo::Clone ( const char * newname = "") const
overridevirtual

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TNamed.

Definition at line 3075 of file TStreamerInfo.cxx.

◆ Compare()

Int_t TNamed::Compare ( const TObject * obj) const
overridevirtualinherited

Compare two TNamed objects.

Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 84 of file TNamed.cxx.

◆ CompareContent()

Bool_t TStreamerInfo::CompareContent ( TClass * cl,
TVirtualStreamerInfo * info,
Bool_t warn,
Bool_t complete,
TFile * file )
overridevirtual

Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo.

In this context 'Equivalent' means the same number of persistent data member which the same actual C++ type and the same name. If 'warn' is true, Warning message are printed to explicit the differences. If 'complete' is false, stop at the first error, otherwise continue until all members have been checked.

Implements TVirtualStreamerInfo.

Definition at line 3111 of file TStreamerInfo.cxx.

◆ Compile()

void TStreamerInfo::Compile ( )
overridevirtual

loop on the TStreamerElement list regroup members with same type Store predigested information into local arrays.

This saves a huge amount of time compared to an explicit iteration on all elements.

Implements TVirtualStreamerInfo.

Definition at line 4133 of file TStreamerInfoActions.cxx.

◆ ComputeSize()

void TStreamerInfo::ComputeSize ( )

Compute total size of all persistent elements of the class.

Definition at line 3391 of file TStreamerInfo.cxx.

◆ Copy()

void TNamed::Copy ( TObject & named) const
overridevirtualinherited

Copy this to obj.

Reimplemented from TObject.

Reimplemented in TPieSlice, TProfile2D, TProfile3D, TProfile, TStyle, TSystemDirectory, TSystemFile, TText, and TXTRU.

Definition at line 93 of file TNamed.cxx.

◆ DeclFileName()

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

Definition at line 256 of file TStreamerInfo.h.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ DeleteArray()

void TStreamerInfo::DeleteArray ( void * p,
Bool_t dtorOnly = kFALSE )
overridevirtual

Destroy an array of emulated objects, with optional delete.

Implements TVirtualStreamerInfo.

Definition at line 5463 of file TStreamerInfo.cxx.

◆ Destructor()

void TStreamerInfo::Destructor ( void * obj,
Bool_t dtorOnly = kFALSE )
overridevirtual

Emulated destructor for this class.

An emulated object is destroyed at address p. Destruct each of the datamembers in the same order as the implicit destructor would.

Implements TVirtualStreamerInfo.

Definition at line 5437 of file TStreamerInfo.cxx.

◆ DestructorImpl()

void TStreamerInfo::DestructorImpl ( void * obj,
Bool_t dtorOnly )
private

Internal part of the destructor.

Destruct each of the datamembers in the same order as the implicit destructor would.

Definition at line 5296 of file TStreamerInfo.cxx.

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ Factory()

TVirtualStreamerInfo * TVirtualStreamerInfo::Factory ( )
staticinherited

Static function returning a pointer to a new TVirtualStreamerInfo object.

If the Info factory does not exist, it is created via the plugin manager. In reality the factory is an empty TStreamerInfo object.

Definition at line 176 of file TVirtualStreamerInfo.cxx.

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FillBuffer()

void TNamed::FillBuffer ( char *& buffer)
virtualinherited

Encode TNamed into output buffer.

Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.

Definition at line 103 of file TNamed.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ ForceWriteInfo()

void TStreamerInfo::ForceWriteInfo ( TFile * file,
Bool_t force = kFALSE )
overridevirtual

Recursively mark streamer infos for writing to a file.

Will force this TStreamerInfo to the file and also all the dependencies. If argument force > 0 the loop on class dependencies is forced. This function is called when streaming a class that contains a null pointer. In this case, the TStreamerInfo for the class with the null pointer must be written to the file and also all the TStreamerInfo of all the classes referenced by the class. We must be given a file to write to.

Implements TVirtualStreamerInfo.

Definition at line 3448 of file TStreamerInfo.cxx.

◆ GenEmulatedClassStreamer()

TClassStreamer * TStreamerInfo::GenEmulatedClassStreamer ( const char * class_name,
Bool_t silent )
overridevirtual

Generate emulated class streamer for a given collection class.

Implements TVirtualStreamerInfo.

Definition at line 6009 of file TStreamerInfo.cxx.

◆ GenEmulatedProxy()

TVirtualCollectionProxy * TStreamerInfo::GenEmulatedProxy ( const char * class_name,
Bool_t silent )
overridevirtual

Generate emulated collection proxy for a given class.

Implements TVirtualStreamerInfo.

Definition at line 6000 of file TStreamerInfo.cxx.

◆ GenerateDeclaration()

void TStreamerInfo::GenerateDeclaration ( FILE * fp,
FILE * sfp,
const TList * subClasses,
Bool_t top = kTRUE )
private

Write the Declaration of class.

Definition at line 3944 of file TStreamerInfo.cxx.

◆ GenerateHeaderFile()

Int_t TStreamerInfo::GenerateHeaderFile ( const char * dirname,
const TList * subClasses = nullptr,
const TList * extrainfos = nullptr )
overridevirtual

Generate header file for the class described by this TStreamerInfo the function is called by TFile::MakeProject for each class in the file.

Implements TVirtualStreamerInfo.

Definition at line 4287 of file TStreamerInfo.cxx.

◆ GenerateIncludes()

UInt_t TStreamerInfo::GenerateIncludes ( FILE * fp,
char * inclist,
const TList * extrainfos )
private

Add to the header file, the #include need for this class.

Definition at line 4210 of file TStreamerInfo.cxx.

◆ GenerateInfoForPair() [1/2]

TVirtualStreamerInfo * TStreamerInfo::GenerateInfoForPair ( const std::string & firstname,
const std::string & secondname,
bool silent,
size_t hint_pair_offset,
size_t hint_pair_size )
overridevirtual

Generate the TClass and TStreamerInfo for the requested pair.

This creates a TVirtualStreamerInfo for the pair and trigger the BuildCheck/Old to provoke the creation of the corresponding TClass. This relies on the dictionary for std::pair<const int, int> to already exist (or the interpreter information being available) as it is used as a template.

Note
The returned object is owned by the caller.

Implements TVirtualStreamerInfo.

Definition at line 6125 of file TStreamerInfo.cxx.

◆ GenerateInfoForPair() [2/2]

TVirtualStreamerInfo * TStreamerInfo::GenerateInfoForPair ( const std::string & pairclassname,
bool silent,
size_t hint_pair_offset,
size_t hint_pair_size )
overridevirtual

Generate the TClass and TStreamerInfo for the requested pair.

This creates a TVirtualStreamerInfo for the pair and trigger the BuildCheck/Old to provokes the creation of the corresponding TClass. This relies on the dictionary for std::pair<const int, int> to already exist (or the interpreter information being available) as it is used as a template.

Note
The returned object is owned by the caller.

Implements TVirtualStreamerInfo.

Definition at line 6201 of file TStreamerInfo.cxx.

◆ GenExplicitClassStreamer()

TClassStreamer * TStreamerInfo::GenExplicitClassStreamer ( const ::ROOT::Detail::TCollectionProxyInfo & info,
TClass * cl )
overridevirtual

Generate class streamer from static functions.

Implements TVirtualStreamerInfo.

Definition at line 6027 of file TStreamerInfo.cxx.

◆ GenExplicitProxy()

TVirtualCollectionProxy * TStreamerInfo::GenExplicitProxy ( const ::ROOT::Detail::TCollectionProxyInfo & info,
TClass * cl )
overridevirtual

Generate proxy from static functions.

Implements TVirtualStreamerInfo.

Definition at line 6018 of file TStreamerInfo.cxx.

◆ GetActualClass()

TClass * TStreamerInfo::GetActualClass ( const void * obj) const
overridevirtual

Assuming that obj points to (the part of) an object that is of the type described by this streamerInfo, return the actual type of the object (i.e.

the type described by this streamerInfo is a base class of the actual type of the object. This routine should only be called if the class described by this StreamerInfo is 'emulated'.

Implements TVirtualStreamerInfo.

Definition at line 3531 of file TStreamerInfo.cxx.

◆ GetCheckSum() [1/2]

UInt_t TStreamerInfo::GetCheckSum ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 161 of file TStreamerInfo.h.

◆ GetCheckSum() [2/2]

UInt_t TStreamerInfo::GetCheckSum ( TClass::ECheckSum code) const

Recalculate the checksum of this TStreamerInfo based on its code.

The class ckecksum is used by the automatic schema evolution algorithm to uniquely identify a class version. The check sum is built from the names/types of base classes and data members. The valid range of code is determined by ECheckSum.

  • kNoEnum: data members of type enum are not counted in the checksum
  • kNoRange: return the checksum of data members and base classes, not including the ranges and array size found in comments.
  • kWithTypeDef: use the sugared type name in the calculation.

This is needed for backward compatibility.

WARNING

This function must be kept in sync with TClass::GetCheckSum. They are both used to handle backward compatibility and should both return the same values. TStreamerInfo uses the information in TStreamerElement while TClass uses the information from TClass::GetListOfBases and TClass::GetListOfDataMembers. Original algorithm from Victor Perevovchikov (perev.nosp@m.@bnl.nosp@m..gov).

Definition at line 3574 of file TStreamerInfo.cxx.

◆ GetClass()

TClass * TStreamerInfo::GetClass ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 160 of file TStreamerInfo.h.

◆ GetClassAlignment()

size_t TStreamerInfo::GetClassAlignment ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 159 of file TStreamerInfo.h.

◆ GetClassVersion()

Int_t TStreamerInfo::GetClassVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 163 of file TStreamerInfo.h.

◆ GetCurrentElement()

TStreamerElement * TStreamerInfo::GetCurrentElement ( )
static

static function returning a pointer to the current TStreamerElement fgElement points to the current TStreamerElement being read in ReadBuffer

Definition at line 46 of file TStreamerInfoReadBuffer.cxx.

◆ GetDataMemberOffset()

Int_t TStreamerInfo::GetDataMemberOffset ( TDataMember * dm,
TMemberStreamer *& streamer ) const

Compute data member offset.

Return pointer to the Streamer function if one exists

Definition at line 4402 of file TStreamerInfo.cxx.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetElem()

TStreamerElement * TStreamerInfo::GetElem ( Int_t id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 166 of file TStreamerInfo.h.

◆ GetElement()

TStreamerElement * TStreamerInfo::GetElement ( Int_t id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 167 of file TStreamerInfo.h.

◆ GetElementCounter()

TStreamerBasicType * TVirtualStreamerInfo::GetElementCounter ( const char * countName,
TClass * cl )
staticinherited

Get pointer to a TStreamerBasicType in TClass *cl static function.

Definition at line 116 of file TVirtualStreamerInfo.cxx.

◆ GetElementCounterStart()

const char * TVirtualStreamerInfo::GetElementCounterStart ( const char * dmTitle)
staticinherited

Given a comment/title declaring an array counter, for example:

//[fArraySize] array of size fArraySize

return the start of the array dimension declaration start in the string (so the location of the 'f'.

Definition at line 98 of file TVirtualStreamerInfo.cxx.

◆ GetElementOffset()

Int_t TStreamerInfo::GetElementOffset ( Int_t id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 168 of file TStreamerInfo.h.

◆ GetElements()

TObjArray * TStreamerInfo::GetElements ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 165 of file TStreamerInfo.h.

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetLength()

Int_t TStreamerInfo::GetLength ( Int_t id) const
inline

Definition at line 178 of file TStreamerInfo.h.

◆ GetMethod()

ULongptr_t TStreamerInfo::GetMethod ( Int_t id) const
inline

Definition at line 179 of file TStreamerInfo.h.

◆ GetName()

const char * TNamed::GetName ( ) const
inlineoverridevirtualinherited

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 49 of file TNamed.h.

◆ GetNdata()

Int_t TStreamerInfo::GetNdata ( ) const
inline

Definition at line 175 of file TStreamerInfo.h.

◆ GetNelement()

Int_t TStreamerInfo::GetNelement ( ) const
inline

Definition at line 176 of file TStreamerInfo.h.

◆ GetNewType()

Int_t TStreamerInfo::GetNewType ( Int_t id) const
inline

Definition at line 180 of file TStreamerInfo.h.

◆ GetNumber()

Int_t TStreamerInfo::GetNumber ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 177 of file TStreamerInfo.h.

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetOffset() [1/2]

Int_t TStreamerInfo::GetOffset ( const char * elementName) const
overridevirtual

Return the offset of the data member as indicated by this StreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 4449 of file TStreamerInfo.cxx.

◆ GetOffset() [2/2]

Int_t TStreamerInfo::GetOffset ( Int_t id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 182 of file TStreamerInfo.h.

◆ GetOldVersion()

Version_t TStreamerInfo::GetOldVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 183 of file TStreamerInfo.h.

◆ GetOnFileClassVersion()

Int_t TStreamerInfo::GetOnFileClassVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 184 of file TStreamerInfo.h.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ GetReadMemberWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadMemberWiseActions ( Bool_t forCollection)
inline

Definition at line 169 of file TStreamerInfo.h.

◆ GetReadObjectWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadObjectWiseActions ( )
inline

Definition at line 170 of file TStreamerInfo.h.

◆ GetReadTextActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadTextActions ( )
inline

Definition at line 171 of file TStreamerInfo.h.

◆ GetSize()

Int_t TStreamerInfo::GetSize ( ) const
overridevirtual

Return total size of all persistent elements of the class (with offsets).

Implements TVirtualStreamerInfo.

Definition at line 4463 of file TStreamerInfo.cxx.

◆ GetSizeElements()

Int_t TStreamerInfo::GetSizeElements ( ) const

Return total size of all persistent elements of the class use GetSize if you want to get the real size in memory.

Definition at line 4472 of file TStreamerInfo.cxx.

◆ GetStreamerElement()

TStreamerElement * TStreamerInfo::GetStreamerElement ( const char * datamember,
Int_t & offset ) const
overridevirtual

Return the StreamerElement of "datamember" inside our class or any of its base classes.

The offset information contained in the StreamerElement is related to its immediately containing class, so we return in 'offset' the offset inside our class.

Implements TVirtualStreamerInfo.

Definition at line 4492 of file TStreamerInfo.cxx.

◆ GetStreamerElementReal()

TStreamerElement * TStreamerInfo::GetStreamerElementReal ( Int_t i,
Int_t j ) const

Obsolete: this routine is obsolete and should not longer be used.

TStreamerInfo holds two types of data structures

  • TObjArray* fElements; containing the list of all TStreamerElement objects for this class version.
  • ULong_t* fElem; containing the preprocessed information by TStreamerInfo::Compile In case consecutive data members are of the same type, the Compile function declares the consecutive elements as one single element in fElems.

Example with the class TAttLine:

TClass::GetClass("TAttLine")->GetStreamerInfo()->ls(); produces;
StreamerInfo for class: TAttLine, version=1
short fLineColor offset= 4 type= 2 line color
short fLineStyle offset= 6 type= 2 line style
short fLineWidth offset= 8 type= 2 line width
i= 0, fLineColor type= 22, offset= 4, len=3, method=0
TVirtualStreamerInfo * GetStreamerInfo(Int_t version=0, Bool_t isTransient=kFALSE) const
returns a pointer to the TVirtualStreamerInfo object for version If the object does not exist,...
Definition TClass.cxx:4657
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
Definition TClass.cxx:2994
virtual void ls(Option_t *="") const override=0
List TNamed name and title.

For I/O implementations (eg. XML) , one has to know the original name of the data member. This function can be used to return a pointer to the original TStreamerElement object corresponding to the j-th element of a compressed array in fElems. Parameters description:

  • i: the serial number in array fElem
  • j: the element number in the array of consecutive types In the above example the class TAttLine has 3 consecutive data members of the same type "short". Compile makes one single array of 3 elements. To access the TStreamerElement for the second element of this array, one can call:
    auto el = GetStreamerElementReal(0,1);
    auto membername = el->GetName();
    TStreamerElement * GetStreamerElementReal(Int_t i, Int_t j) const
    Obsolete: this routine is obsolete and should not longer be used.
    This function is typically called from TBuffer, TXmlBuffer.

Definition at line 4596 of file TStreamerInfo.cxx.

◆ GetStreamMemberWise()

Bool_t TVirtualStreamerInfo::GetStreamMemberWise ( )
staticinherited

Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.

The default is to store member-wise.

  • kTRUE indicates member-wise storing
  • kFALSE inddicates object-wise storing

A collection can be saved member wise when it contain is guaranteed to be homogeneous. For example std::vector<THit> can be stored member wise, while std::vector<THit*> can not (possible use of polymorphism).

Definition at line 154 of file TVirtualStreamerInfo.cxx.

◆ GetTitle()

const char * TNamed::GetTitle ( ) const
inlineoverridevirtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented from TObject.

Definition at line 50 of file TNamed.h.

◆ GetType()

Int_t TStreamerInfo::GetType ( Int_t id) const
inline

Definition at line 189 of file TStreamerInfo.h.

◆ GetTypedValue()

template<typename T>
T TStreamerInfo::GetTypedValue ( char * pointer,
Int_t i,
Int_t j,
Int_t len ) const

Return value of element i in object at pointer.

The function may be called in two ways:

  • method1 len < 0: i is assumed to be the TStreamerElement number i in StreamerInfo
  • method2 len >= 0: i is the type, address of variable is directly pointer.

Definition at line 4722 of file TStreamerInfo.cxx.

◆ GetTypedValueAux()

template<typename T>
T TStreamerInfo::GetTypedValueAux ( Int_t type,
void * ladd,
int k,
Int_t len )
staticprivate

Get the value from inside a collection.

Definition at line 4618 of file TStreamerInfo.cxx.

◆ GetTypedValueClones()

template<typename T>
T TStreamerInfo::GetTypedValueClones ( TClonesArray * clones,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const

Definition at line 4764 of file TStreamerInfo.cxx.

◆ GetTypedValueSTL()

template<typename T>
T TStreamerInfo::GetTypedValueSTL ( TVirtualCollectionProxy * cont,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const

Return value of element i in object number j in an STL container and eventually element k in a sub-array.

Definition at line 4786 of file TStreamerInfo.cxx.

◆ GetTypedValueSTLP()

template<typename T>
T TStreamerInfo::GetTypedValueSTLP ( TVirtualCollectionProxy * cont,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const

Return value of element i in object number j in a pointer to STL container and eventually element k in a sub-array.

Definition at line 4805 of file TStreamerInfo.cxx.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ GetValue()

Double_t TStreamerInfo::GetValue ( char * pointer,
Int_t i,
Int_t j,
Int_t len ) const
inline

Definition at line 194 of file TStreamerInfo.h.

◆ GetValueClones()

Double_t TStreamerInfo::GetValueClones ( TClonesArray * clones,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const
inline

Definition at line 195 of file TStreamerInfo.h.

◆ GetValueSTL()

Double_t TStreamerInfo::GetValueSTL ( TVirtualCollectionProxy * cont,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const
inline

Definition at line 196 of file TStreamerInfo.h.

◆ GetValueSTLP()

Double_t TStreamerInfo::GetValueSTLP ( TVirtualCollectionProxy * cont,
Int_t i,
Int_t j,
Int_t k,
Int_t eoffset ) const
inline

Definition at line 197 of file TStreamerInfo.h.

◆ GetWriteMemberWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteMemberWiseActions ( Bool_t forCollection)
inline

Definition at line 172 of file TStreamerInfo.h.

◆ GetWriteObjectWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteObjectWiseActions ( )
inline

Definition at line 173 of file TStreamerInfo.h.

◆ GetWriteTextActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteTextActions ( )
inline

Definition at line 174 of file TStreamerInfo.h.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TNamed::Hash ( ) const
inlineoverridevirtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
ULong_t Hash() const override
Return hash value for this object.
Definition TNamed.h:51
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
TObject()
TObject constructor.
Definition TObject.h:259
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented from TObject.

Definition at line 51 of file TNamed.h.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ InsertArtificialElements()

void TStreamerInfo::InsertArtificialElements ( std::vector< const ROOT::TSchemaRule * > & rules)
private

Insert new members as expressed in the array of TSchemaRule(s).

Definition at line 4821 of file TStreamerInfo.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

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

Reimplemented from TNamed.

Definition at line 256 of file TStreamerInfo.h.

◆ IsBuilt()

Bool_t TVirtualStreamerInfo::IsBuilt ( ) const
inlineinherited

Definition at line 207 of file TVirtualStreamerInfo.h.

◆ IsCompiled()

Bool_t TVirtualStreamerInfo::IsCompiled ( ) const
inlineinherited

Definition at line 208 of file TVirtualStreamerInfo.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsOptimized()

Bool_t TVirtualStreamerInfo::IsOptimized ( ) const
inlineinherited

Definition at line 209 of file TVirtualStreamerInfo.h.

◆ IsRecovered()

Int_t TVirtualStreamerInfo::IsRecovered ( ) const
inlineinherited

Definition at line 210 of file TVirtualStreamerInfo.h.

◆ IsSortable()

Bool_t TNamed::IsSortable ( ) const
inlineoverridevirtualinherited

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 52 of file TNamed.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ ls()

void TStreamerInfo::ls ( Option_t * option = "") const
overridevirtual

List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig", also prints the original (non-optimized elements in the list of compiled elements.

Implements TVirtualStreamerInfo.

Definition at line 4996 of file TStreamerInfo.cxx.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MatchLegacyCheckSum()

Bool_t TStreamerInfo::MatchLegacyCheckSum ( UInt_t checksum) const

Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm.

Definition at line 3546 of file TStreamerInfo.cxx.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

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).

Definition at line 1160 of file TObject.cxx.

◆ New()

void * TStreamerInfo::New ( void * obj = nullptr)
overridevirtual

An emulated object is created at address obj, if obj is null we allocate memory for the object.

Implements TVirtualStreamerInfo.

Definition at line 5083 of file TStreamerInfo.cxx.

◆ NewArray()

void * TStreamerInfo::NewArray ( Long_t nElements,
void * ary = nullptr )
overridevirtual

An array of emulated objects is created at address ary, if ary is null, we allocate memory for the array.

Implements TVirtualStreamerInfo.

Definition at line 5240 of file TStreamerInfo.cxx.

◆ NewInfo()

TVirtualStreamerInfo * TStreamerInfo::NewInfo ( TClass * cl)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 200 of file TStreamerInfo.h.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

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 in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ operator=()

TStreamerInfo & TStreamerInfo::operator= ( const TStreamerInfo & )
privatedelete

◆ Optimize()

void TVirtualStreamerInfo::Optimize ( Bool_t opt = kTRUE)
staticinherited

This is a static function.

Set optimization option. When this option is activated (default), consecutive data members of the same type are merged into an array (faster). Optimization must be off in TTree split mode.

Definition at line 166 of file TVirtualStreamerInfo.cxx.

◆ Paint()

void TObject::Paint ( Option_t * option = "")
virtualinherited

This method must be overridden if a class wants to paint itself.

The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.

Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.

Definition at line 631 of file TObject.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ Print()

◆ PrintValue()

void TStreamerInfo::PrintValue ( const char * name,
char * pointer,
Int_t i,
Int_t len,
Int_t lenmax = 1000 ) const

print value of element i in object at pointer The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.

len is the number of elements to be printed starting at pointer.

Definition at line 5501 of file TStreamerInfo.cxx.

◆ PrintValueAux()

void TStreamerInfo::PrintValueAux ( char * ladd,
Int_t atype,
TStreamerElement * aElement,
Int_t aleng,
Int_t * count )
staticprivate

print value of element in object at pointer, type atype, leng aleng or *count The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.

len is the number of elements to be printed starting at pointer.

Definition at line 5771 of file TStreamerInfo.cxx.

◆ PrintValueClones()

void TStreamerInfo::PrintValueClones ( const char * name,
TClonesArray * clones,
Int_t i,
Int_t eoffset,
Int_t lenmax = 1000 ) const

Print value of element i in a TClonesArray.

Definition at line 5546 of file TStreamerInfo.cxx.

◆ PrintValueSTL()

void TStreamerInfo::PrintValueSTL ( const char * name,
TVirtualCollectionProxy * cont,
Int_t i,
Int_t eoffset,
Int_t lenmax = 1000 ) const

Print value of element i in an STL container.

Definition at line 5571 of file TStreamerInfo.cxx.

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ ReadBuffer()

template<class T>
template Int_t TStreamerInfo::ReadBuffer< TVirtualArray > ( TBuffer & b,
const T & arrptr,
TCompInfo *const *const compinfo,
Int_t first,
Int_t last,
Int_t narr = 1,
Int_t eoffset = 0,
Int_t mode = 0 )

Deserialize information from buffer b into object at pointer if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.

This also means that T is of a type such that arr[i] is a pointer to an object. Currently the only anticipated instantiation are for T==char** and T==TVirtualCollectionProxy

Definition at line 763 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferArtificial()

template<class T>
template Int_t TStreamerInfo::ReadBufferArtificial< TVirtualArray > ( TBuffer & b,
const T & arrptr,
TStreamerElement * aElement,
Int_t narr,
Int_t eoffset )

Handle Artificial StreamerElement.

Definition at line 536 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferClones()

Int_t TStreamerInfo::ReadBufferClones ( TBuffer & b,
TClonesArray * clones,
Int_t nc,
Int_t first,
Int_t eoffset )

Read for TClonesArray.

Note: This is no longer used.

Definition at line 1801 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferConv()

template<class T>
template Int_t TStreamerInfo::ReadBufferConv< TVirtualArray > ( TBuffer & b,
const T & arrptr,
const TCompInfo * compinfo,
Int_t kase,
TStreamerElement * aElement,
Int_t narr,
Int_t eoffset )

Convert elements of a TClonesArray.

Definition at line 578 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferSkip()

template<class T>
template Int_t TStreamerInfo::ReadBufferSkip< TVirtualArray > ( TBuffer & b,
const T & arrptr,
const TCompInfo * compinfo,
Int_t kase,
TStreamerElement * aElement,
Int_t narr,
Int_t eoffset )

Skip an element.

Definition at line 182 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferSTL()

Int_t TStreamerInfo::ReadBufferSTL ( TBuffer & b,
TVirtualCollectionProxy * cont,
Int_t nc,
Int_t eoffset,
Bool_t v7 = kTRUE )

The STL vector/list is deserialized from the buffer b.

Definition at line 1789 of file TStreamerInfoReadBuffer.cxx.

◆ RecursiveRemove()

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ ResetIsCompiled()

void TVirtualStreamerInfo::ResetIsCompiled ( )
inlineprotectedinherited

Definition at line 60 of file TVirtualStreamerInfo.h.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveNameTitle()

void TNamed::SavePrimitiveNameTitle ( std::ostream & out,
const char * variable_name )
protectedinherited

Save object name and title into the output stream "out".

Definition at line 135 of file TNamed.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetCanDelete()

void TVirtualStreamerInfo::SetCanDelete ( Bool_t opt = kTRUE)
staticinherited

This is a static function.

Set object delete option. When this option is activated (default), ReadBuffer automatically delete objects when a data member is a pointer to an object. If your constructor is not presetting pointers to 0, you must call this static function TStreamerInfo::SetCanDelete(kFALSE);

Definition at line 219 of file TVirtualStreamerInfo.cxx.

◆ SetCheckSum()

void TStreamerInfo::SetCheckSum ( UInt_t checksum)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 220 of file TStreamerInfo.h.

◆ SetClass()

void TStreamerInfo::SetClass ( TClass * cl)
overridevirtual

Replace the TClass this streamerInfo is pointing to (belongs to).

Implements TVirtualStreamerInfo.

Definition at line 5596 of file TStreamerInfo.cxx.

◆ SetClassVersion()

void TStreamerInfo::SetClassVersion ( Int_t vers)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 222 of file TStreamerInfo.h.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetFactory()

void TVirtualStreamerInfo::SetFactory ( TVirtualStreamerInfo * factory)
staticinherited

static function: Set the StreamerInfo factory

Definition at line 227 of file TVirtualStreamerInfo.cxx.

◆ SetIsCompiled()

void TVirtualStreamerInfo::SetIsCompiled ( )
inlineprotectedinherited

Definition at line 64 of file TVirtualStreamerInfo.h.

◆ SetName()

void TNamed::SetName ( const char * name)
virtualinherited

Set the name of the TNamed.

WARNING: if the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, ROOT::Experimental::XRooFit::xRooNode, TChain, TColor, TDirectory, TEfficiency, TEventList, TEveScene, TFormula, TGraph2D, TGraph, TH1, TNode, TRotMatrix, TShape, TSystemDirectory, TSystemFile, and TTree.

Definition at line 149 of file TNamed.cxx.

◆ SetNameTitle()

void TNamed::SetNameTitle ( const char * name,
const char * title )
virtualinherited

Set all the TNamed parameters (name and title).

WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.

Definition at line 163 of file TNamed.cxx.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetOnFileClassVersion()

void TStreamerInfo::SetOnFileClassVersion ( Int_t vers)
inline

Definition at line 223 of file TStreamerInfo.h.

◆ SetStreamMemberWise()

Bool_t TVirtualStreamerInfo::SetStreamMemberWise ( Bool_t enable = kTRUE)
staticinherited

Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.

The default is to store member-wise.

  • kTRUE indicates member-wise storing
  • kFALSE indicates object-wise storing This function returns the previous value of fgStreamMemberWise.

Definition at line 242 of file TVirtualStreamerInfo.cxx.

◆ SetTitle()

void TNamed::SetTitle ( const char * title = "")
virtualinherited

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ Sizeof()

Int_t TNamed::Sizeof ( ) const
virtualinherited

Return size of the TNamed part of the TObject.

Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.

Definition at line 182 of file TNamed.cxx.

◆ Streamer()

void TStreamerInfo::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class TStreamerInfo.

Reimplemented from TNamed.

Definition at line 5608 of file TStreamerInfo.cxx.

◆ StreamerNVirtual()

void TStreamerInfo::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 256 of file TStreamerInfo.h.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ TagFile()

void TStreamerInfo::TagFile ( TFile * file)
overridevirtual

Mark the classindex of the current file as using this TStreamerInfo.

This function is deprecated and its functionality is now done by the overloads of TBuffer::TagStreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 5719 of file TStreamerInfo.cxx.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ Update()

void TStreamerInfo::Update ( const TClass * oldClass,
TClass * newClass )
overridevirtual

function called by the TClass constructor when replacing an emulated class by the real class

Implements TVirtualStreamerInfo.

Definition at line 5971 of file TStreamerInfo.cxx.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ Write() [1/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
virtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 989 of file TObject.cxx.

◆ Write() [2/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
virtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 964 of file TObject.cxx.

◆ WriteBuffer()

Int_t TStreamerInfo::WriteBuffer ( TBuffer & b,
char * ipointer,
Int_t first )
private

General Write.

('first' is an id between -1 and fNdata). Note: This is no longer used.

Definition at line 859 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferAux()

template<class T>
template Int_t TStreamerInfo::WriteBufferAux< char ** > ( TBuffer & b,
const T & arr,
TCompInfo *const *const compinfo,
Int_t first,
Int_t last,
Int_t narr,
Int_t eoffset,
Int_t mode )

The object at pointer is serialized to the buffer b if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.

This also means that T is of a type such that arr[i] is a pointer to an object. Currently the only anticipated instantiation are for T==char** and T==TVirtualCollectionProxy

Definition at line 114 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferClones()

Int_t TStreamerInfo::WriteBufferClones ( TBuffer & b,
TClonesArray * clones,
Int_t nc,
Int_t first,
Int_t eoffset )
private

Write for ClonesArray ('first' is an id between -1 and fNfulldata).

Note: This is no longer used.

Definition at line 868 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferSTL()

Int_t TStreamerInfo::WriteBufferSTL ( TBuffer & b,
TVirtualCollectionProxy * cont,
Int_t nc )
private

Write for STL container. ('first' is an id between -1 and fNfulldata).

Definition at line 832 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferSTLPtrs()

Int_t TStreamerInfo::WriteBufferSTLPtrs ( TBuffer & b,
TVirtualCollectionProxy * cont,
Int_t nc,
Int_t first,
Int_t eoffset )
private

Write for STL container.

('first' is an id between -1 and fNfulldata). Note: This is no longer used.

Definition at line 846 of file TStreamerInfoWriteBuffer.cxx.

◆ TStreamerInfoActions::TActionSequence

Definition at line 62 of file TStreamerInfo.h.

Member Data Documentation

◆ fAlignment

size_t TStreamerInfo::fAlignment
private

!alignment of the memory representation of the class

Definition at line 93 of file TStreamerInfo.h.

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fCheckSum

UInt_t TStreamerInfo::fCheckSum
private

Checksum of original class.

Definition at line 88 of file TStreamerInfo.h.

◆ fClass

TClass* TStreamerInfo::fClass
private

!pointer to class

Definition at line 100 of file TStreamerInfo.h.

◆ fClassVersion

Int_t TStreamerInfo::fClassVersion
private

Class version identifier.

Definition at line 89 of file TStreamerInfo.h.

◆ fComp

TCompInfo* TStreamerInfo::fComp
private

![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info

Definition at line 97 of file TStreamerInfo.h.

◆ fCompFull

TCompInfo** TStreamerInfo::fCompFull
private

![fElements->GetEntries()]

Definition at line 99 of file TStreamerInfo.h.

◆ fCompOpt

TCompInfo** TStreamerInfo::fCompOpt
private

![fNdata]

Definition at line 98 of file TStreamerInfo.h.

◆ fElements

TObjArray* TStreamerInfo::fElements
private

Array of TStreamerElements.

Definition at line 101 of file TStreamerInfo.h.

◆ fgCanDelete

Bool_t TVirtualStreamerInfo::fgCanDelete = kTRUE
staticprotectedinherited

Definition at line 52 of file TVirtualStreamerInfo.h.

◆ fgCount

std::atomic< Int_t > TStreamerInfo::fgCount {0}
staticprivate

Number of TStreamerInfo instances.

Definition at line 84 of file TStreamerInfo.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgInfoFactory

TVirtualStreamerInfo * TVirtualStreamerInfo::fgInfoFactory = nullptr
staticprotectedinherited

Definition at line 55 of file TVirtualStreamerInfo.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fgOptimize

Bool_t TVirtualStreamerInfo::fgOptimize = kTRUE
staticprotectedinherited

Definition at line 53 of file TVirtualStreamerInfo.h.

◆ fgStreamMemberWise

Bool_t TVirtualStreamerInfo::fgStreamMemberWise = kTRUE
staticprotectedinherited

Definition at line 54 of file TVirtualStreamerInfo.h.

◆ fIsBuilt

Bool_t TVirtualStreamerInfo::fIsBuilt
protectedinherited

! true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have)

Definition at line 48 of file TVirtualStreamerInfo.h.

◆ fIsCompiled

std::atomic<Bool_t> TVirtualStreamerInfo::fIsCompiled
protectedinherited

! true if the StreamerInfo has been compiled (i.e. fully built, ready to use for streaming).

Definition at line 49 of file TVirtualStreamerInfo.h.

◆ fName

TString TNamed::fName
protectedinherited

Definition at line 32 of file TNamed.h.

◆ fNdata

Int_t TStreamerInfo::fNdata
private

!number of optimized elements

Definition at line 94 of file TStreamerInfo.h.

◆ fNfulldata

Int_t TStreamerInfo::fNfulldata
private

!number of elements

Definition at line 95 of file TStreamerInfo.h.

◆ fNslots

Int_t TStreamerInfo::fNslots
private

!total number of slots in fComp.

Definition at line 96 of file TStreamerInfo.h.

◆ fNumber

Int_t TStreamerInfo::fNumber
private

!Unique identifier

Definition at line 91 of file TStreamerInfo.h.

◆ fNVirtualInfoLoc

Int_t TStreamerInfo::fNVirtualInfoLoc
private

! Number of virtual info location to update.

Definition at line 103 of file TStreamerInfo.h.

◆ fOldVersion

Version_t TStreamerInfo::fOldVersion
private

! Version of the TStreamerInfo object read from the file

Definition at line 102 of file TStreamerInfo.h.

◆ fOnFileClassVersion

Int_t TStreamerInfo::fOnFileClassVersion
private

!Class version identifier as stored on file.

Definition at line 90 of file TStreamerInfo.h.

◆ fOptimized

Bool_t TVirtualStreamerInfo::fOptimized
protectedinherited

! true if the StreamerInfo has been optimized

Definition at line 47 of file TVirtualStreamerInfo.h.

◆ fReadMemberWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadMemberWise
private

! List of read action resulting from the compilation for use in member wise streaming.

Definition at line 106 of file TStreamerInfo.h.

◆ fReadMemberWiseVecPtr

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadMemberWiseVecPtr
private

! List of read action resulting from the compilation for use in member wise streaming.

Definition at line 107 of file TStreamerInfo.h.

◆ fReadObjectWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadObjectWise
private

! List of read action resulting from the compilation.

Definition at line 105 of file TStreamerInfo.h.

◆ fReadText

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadText
private

! List of text read action resulting from the compilation, used for JSON.

Definition at line 108 of file TStreamerInfo.h.

◆ fSize

Int_t TStreamerInfo::fSize
private

!size of the persistent class

Definition at line 92 of file TStreamerInfo.h.

◆ fTitle

TString TNamed::fTitle
protectedinherited

Definition at line 33 of file TNamed.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.

◆ fVirtualInfoLoc

ULong_t* TStreamerInfo::fVirtualInfoLoc
private

![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)

Definition at line 104 of file TStreamerInfo.h.

◆ fWriteMemberWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteMemberWise
private

! List of write action resulting from the compilation for use in member wise streaming.

Definition at line 110 of file TStreamerInfo.h.

◆ fWriteMemberWiseVecPtr

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteMemberWiseVecPtr
private

! List of write action resulting from the compilation for use in member wise streaming.

Definition at line 111 of file TStreamerInfo.h.

◆ fWriteObjectWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteObjectWise
private

! List of write action resulting from the compilation.

Definition at line 109 of file TStreamerInfo.h.

◆ fWriteText

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteText
private

! List of text write action resulting for the compilation, used for JSON.

Definition at line 112 of file TStreamerInfo.h.


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