ROOT » CORE » META » TClass

class TClass: public TDictionary


The ROOT global object gROOT contains a list of all defined
classes. This list is build when a reference to a class dictionary
is made. When this happens, the static "class"::Dictionary()
function is called to create a TClass object describing the
class. The Dictionary() function is defined in the ClassDef
macro and stored (at program startup or library load time) together
with the class name in the TClassTable singleton object.
For a description of all dictionary classes see TDictionary.


Function Members (Methods)

public:
virtual~TClass()
voidTObject::AbstractMethod(const char* method) const
static voidAddClass(TClass* cl)
static voidAddClassToDeclIdMap(TDictionary::DeclId_t id, TClass* cl)
voidAddImplFile(const char* filename, int line)
voidAddInstance(Bool_t heap = kFALSE)
static Bool_tAddRule(const char* rule)
voidAdoptMemberStreamer(const char* name, TMemberStreamer* strm)
voidAdoptReferenceProxy(TVirtualRefProxy* proxy)
voidAdoptSchemaRules(ROOT::TSchemaRuleSet* rules)
voidAdoptStreamer(TClassStreamer* strm)
virtual voidTObject::AppendPad(Option_t* option = "")
static Int_tAutoBrowse(TObject* obj, TBrowser* browser)
virtual voidBrowse(TBrowser* b)
Int_tBrowse(void* obj, TBrowser* b) const
voidBuildEmulatedRealData(const char* name, Long_t offset, TClass* cl)
voidBuildRealData(void* pointer = 0, Bool_t isTransient = kFALSE)
voidCalculateStreamerOffset() const
Bool_tCallShowMembers(const void* obj, TMemberInspector& insp, Bool_t isTransient = kFALSE) const
Bool_tCanIgnoreTObjectStreamer()
Bool_tCanSplit() const
static TClass*Class()
virtual const char*TObject::ClassName() const
Long_tClassProperty() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidCopyCollectionProxy(const TVirtualCollectionProxy&)
voidTDictionary::CreateAttributeMap()
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDeleteArray(void* ary, Bool_t dtorOnly = kFALSE)
voidDestructor(void* obj, Bool_t dtorOnly = kFALSE)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidDump() const
voidDump(const void* obj, Bool_t noAddr = kFALSE) const
void*DynamicCast(const TClass* base, void* obj, Bool_t up = kTRUE)
const void*DynamicCast(const TClass* base, const void* obj, Bool_t up = kTRUE)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
char*EscapeChars(const char* text) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
TVirtualStreamerInfo*FindConversionStreamerInfo(const char* onfile_classname, UInt_t checksum) const
TVirtualStreamerInfo*FindConversionStreamerInfo(const TClass* onfile_cl, UInt_t checksum) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TVirtualStreamerInfo*FindStreamerInfo(UInt_t checksum) const
TVirtualStreamerInfo*FindStreamerInfoAbstractEmulated(UInt_t checksum) const
TClass*GetActualClass(const void* object) const
TDictAttributeMap*TDictionary::GetAttributeMap() const
TClass*GetBaseClass(const char* classname)
TClass*GetBaseClass(const TClass* base)
Int_tGetBaseClassOffset(const TClass* toBase, void* address = 0, bool isDerivedObject = true)
TClass*GetBaseDataMember(const char* datamember)
UInt_tGetCheckSum(TClass::ECheckSum code = kCurrentCheckSum) const
UInt_tGetCheckSum(Bool_t& isvalid) const
UInt_tGetCheckSum(TClass::ECheckSum code, Bool_t& isvalid) const
static Bool_tGetClass(TDictionary::DeclId_t id, vector<TClass*>& classes)
static TClass*GetClass(const char* name, Bool_t load = kTRUE, Bool_t silent = kFALSE)
static TClass*GetClass(const type_info& typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE)
static TClass*GetClass(ClassInfo_t* info, Bool_t load = kTRUE, Bool_t silent = kFALSE)
ClassInfo_t*GetClassInfo() const
TMethod*GetClassMethod(const char* name, const char* params, Bool_t objectIsConst = kFALSE)
TMethod*GetClassMethodWithPrototype(const char* name, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch)
Int_tGetClassSize() const
Version_tGetClassVersion() const
TVirtualCollectionProxy*GetCollectionProxy() const
const char*GetContextMenuTitle() const
TVirtualStreamerInfo*GetConversionStreamerInfo(const char* onfile_classname, Int_t version) const
TVirtualStreamerInfo*GetConversionStreamerInfo(const TClass* onfile_cl, Int_t version) const
ClassConvStreamerFunc_tGetConvStreamerFunc() const
TVirtualStreamerInfo*GetCurrentStreamerInfo()
TDataMember*GetDataMember(const char* datamember) const
Long_tGetDataMemberOffset(const char* membername) const
Short_tGetDeclFileLine() const
const char*GetDeclFileName() const
ROOT::DelFunc_tGetDelete() const
ROOT::DelArrFunc_tGetDeleteArray() const
ROOT::DesFunc_tGetDestructor() const
static DictFuncPtr_tGetDict(const char* cname)
static DictFuncPtr_tGetDict(const type_info& info)
static TDictionary*TDictionary::GetDictionary(const char* name)
static TDictionary*TDictionary::GetDictionary(const type_info& typeinfo)
ROOT::DirAutoAdd_tGetDirectoryAutoAdd() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TFunctionTemplate*GetFunctionTemplate(const char* name)
UInt_tGetHeapInstanceCount() const
virtual const char*TObject::GetIconName() const
Short_tGetImplFileLine() const
const char*GetImplFileName() const
UInt_tGetInstanceCount() const
TVirtualIsAProxy*GetIsAProxy() const
TVirtualStreamerInfo*GetLastReadInfo() const
TList*GetListOfAllPublicDataMembers(Bool_t load = kTRUE)
const TList*GetListOfAllPublicMethods(Bool_t load = kTRUE)
TList*GetListOfBases()
TList*GetListOfDataMembers(Bool_t load = kTRUE)
TList*GetListOfEnums(Bool_t load = kTRUE)
TList*GetListOfFunctionTemplates(Bool_t load = kTRUE)
TCollection*GetListOfMethodOverloads(const char* name) const
TList*GetListOfMethods(Bool_t load = kTRUE)
TList*GetListOfRealData() const
voidGetMenuItems(TList* listitems)
TList*GetMenuList() const
ROOT::MergeFunc_tGetMerge() const
TMethod*GetMethod(const char* method, const char* params, Bool_t objectIsConst = kFALSE)
TMethod*GetMethodAllAny(const char* method)
TMethod*GetMethodAny(const char* method)
TMethod*GetMethodWithPrototype(const char* method, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch)
voidGetMissingDictionaries(THashTable& result, bool recurse = false)
virtual const char*TNamed::GetName() const
Int_tGetNdata()
ROOT::NewFunc_tGetNew() const
ROOT::NewArrFunc_tGetNewArray() const
Int_tGetNmethods()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TClass*const*GetPersistentRef() const
TRealData*GetRealData(const char* name) const
TVirtualRefProxy*GetReferenceProxy() const
ROOT::ResetAfterMergeFunc_tGetResetAfterMerge() const
const ROOT::TSchemaRuleSet*GetSchemaRules() const
ROOT::TSchemaRuleSet*GetSchemaRules(Bool_t create = kFALSE)
const char*GetSharedLibs()
ShowMembersFunc_tGetShowMembersWrapper() const
TClass::EStateGetState() const
TClassStreamer*GetStreamer() const
ClassStreamerFunc_tGetStreamerFunc() const
TVirtualStreamerInfo*GetStreamerInfo(Int_t version = 0) const
TVirtualStreamerInfo*GetStreamerInfoAbstractEmulated(Int_t version = 0) const
const TObjArray*GetStreamerInfos() const
virtual const char*TNamed::GetTitle() const
const type_info*GetTypeInfo() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasDataMemberInfo() const
Bool_tHasDefaultConstructor() const
Bool_tHasDictionary()
static Bool_tHasDictionarySelection(const char* clname)
virtual ULong_tTNamed::Hash() const
Bool_tHasInterpreterInfo() const
Bool_tHasInterpreterInfoInMemory() const
voidIgnoreTObjectStreamer(Bool_t ignore = kTRUE)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tInheritsFrom(const char* cl) const
virtual Bool_tInheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidInterpretedShowMembers(void* obj, TMemberInspector& insp, Bool_t isTransient)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
static TClass::ENewTypeIsCallingNew()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tIsFolder(void* obj) const
Bool_tIsForeign() const
Bool_tIsLoaded() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsStartingWithTObject() const
Bool_tIsTObject() const
Bool_tIsVersioned() const
Bool_tTObject::IsZombie() const
static TClass*Load(TBuffer& b)
static TClass*LoadClass(const char* requestedname, Bool_t silent)
virtual voidls(Option_t* opt = "") const
voidMakeCustomMenuList()
Bool_tMatchLegacyCheckSum(UInt_t checksum) const
voidTObject::MayNotUse(const char* method) const
voidMove(void* arenaFrom, void* arenaTo) const
void*New(TClass::ENewType defConstructor = kClassNew, Bool_t quiet = kFALSE) const
void*New(void* arena, TClass::ENewType defConstructor = kClassNew) const
void*NewArray(Long_t nElements, TClass::ENewType defConstructor = kClassNew) const
void*NewArray(Long_t nElements, void* arena, TClass::ENewType defConstructor = kClassNew) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPostLoadCheck()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Long_tProperty() const
virtual Int_tTObject::Read(const char* name)
Int_tReadBuffer(TBuffer& b, void* pointer)
Int_tReadBuffer(TBuffer& b, void* pointer, Int_t version, UInt_t start, UInt_t count)
static Int_tReadRules()
static Int_tReadRules(const char* filename)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRegisterStreamerInfo(TVirtualStreamerInfo* info)
static voidRemoveClass(TClass* cl)
static voidRemoveClassDeclId(TDictionary::DeclId_t id)
voidRemoveStreamerInfo(Int_t slot)
voidReplaceWith(TClass* newcl) const
voidTObject::ResetBit(UInt_t f)
voidResetCaches()
voidResetClassInfo()
voidResetClassInfo(Long_t tagnum)
voidResetInstanceCount()
voidResetMenuList()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCanSplit(Int_t splitmode)
voidSetCollectionProxy(const ROOT::TCollectionProxyInfo&)
voidSetContextMenuTitle(const char* title)
voidSetConvStreamerFunc(ClassConvStreamerFunc_t strm)
voidSetCurrentStreamerInfo(TVirtualStreamerInfo* info)
voidSetDeclFile(const char* name, int line)
voidSetDelete(ROOT::DelFunc_t deleteFunc)
voidSetDeleteArray(ROOT::DelArrFunc_t deleteArrayFunc)
voidSetDestructor(ROOT::DesFunc_t destructorFunc)
voidSetDirectoryAutoAdd(ROOT::DirAutoAdd_t dirAutoAddFunc)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGlobalIsA(IsAGlobalFunc_t)
voidSetImplFileName(const char* implFileName)
voidSetLastReadInfo(TVirtualStreamerInfo* info)
voidSetMemberStreamer(const char* name, MemberStreamerFunc_t strm)
voidSetMerge(ROOT::MergeFunc_t mergeFunc)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNew(ROOT::NewFunc_t newFunc)
voidSetNewArray(ROOT::NewArrFunc_t newArrayFunc)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetResetAfterMerge(ROOT::ResetAfterMergeFunc_t resetFunc)
voidSetStreamerFunc(ClassStreamerFunc_t strm)
TVirtualStreamerInfo*SetStreamerInfo(Int_t version, const char* info = "")
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUnloaded()
virtual voidShowMembers(TMemberInspector& insp) const
Int_tSize() const
virtual Int_tTNamed::Sizeof() const
voidStore(TBuffer& b) const
virtual voidStreamer(TBuffer&)
voidStreamer(void* obj, TBuffer& b, const TClass* onfile_class = 0) const
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
TClass()
TClass(const char* name, Bool_t silent = kFALSE)
TClass(const char* name, Version_t cversion, Bool_t silent = kFALSE)
TClass(const char* name, Version_t cversion, TClass::EState theState, Bool_t silent = kFALSE)
TClass(ClassInfo_t* info, Version_t cversion, const char* dfil, const char* ifil = 0, Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE)
TClass(const char* name, Version_t cversion, const char* dfil, const char* ifil = 0, Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE)
TClass(const char* name, Version_t cversion, const type_info& info, TVirtualIsAProxy* isa, const char* dfil, const char* ifil, Int_t dl, Int_t il, Bool_t silent = kFALSE)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
Int_tWriteBuffer(TBuffer& b, void* pointer, const char* info = "")
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TVirtualStreamerInfo*FindStreamerInfo(TObjArray* arr, UInt_t checksum) const
voidGetMissingDictionariesForBaseClasses(TCollection& result, TCollection& visited, bool recurse)
voidGetMissingDictionariesForMembers(TCollection& result, TCollection& visited, bool recurse)
voidGetMissingDictionariesForPairElements(TCollection& result, TCollection& visited, bool recurse)
voidGetMissingDictionariesWithRecursionCheck(TCollection& result, TCollection& visited, bool recurse)
voidTObject::MakeZombie()
Bool_tTDictionary::UpdateInterpreterStateMarker()
private:
static voidConvStreamerInstrumented(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
TVirtualStreamerInfo*DetermineCurrentStreamerInfo()
TMethod*FindClassOrBaseMethodWithId(TDictionary::DeclId_t faddr)
voidForceReload(TClass* oldcl)
Int_tGetBaseClassOffsetRecurse(const TClass* toBase)
TMethod*GetClassMethod(Long_t faddr)
static DeclIdMap_t*GetDeclIdMap()
static IdMap_t*GetIdMap()
TListOfFunctions*GetMethodList()
static Bool_tHasNoInfoOrEmuOrFwdDeclaredDecl(const char*)
voidInit(const char* name, Version_t cversion, const type_info* info, TVirtualIsAProxy* isa, const char* dfil, const char* ifil, Int_t dl, Int_t il, ClassInfo_t* classInfo, Bool_t silent)
static TClass*LoadClassCustom(const char* requestedname, Bool_t silent)
static TClass*LoadClassDefault(const char* requestedname, Bool_t silent)
voidLoadClassInfo() const
TClass&operator=(const TClass&)
voidSetClassSize(Int_t sizof)
voidSetClassVersion(Version_t version)
voidSetStreamerImpl()
static voidStreamerDefault(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerExternal(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerInstrumented(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerStreamerInfo(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerTObject(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerTObjectEmulated(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
static voidStreamerTObjectInitialized(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
TClass(const TClass& tc)

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TDictionary::ESTLTypeTDictionary::kBitset
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TClass::ENewTypekClassNew
static TClass::(anonymous)kClassSaved
static TClass::ECheckSumkCurrentCheckSum
static TDictionary::ESTLTypeTDictionary::kDeque
static TClass::ENewTypekDummyNew
static TClass::EStatekEmulated
static TClass::EStatekForwardDeclared
static TClass::(anonymous)kHasCustomStreamerMember
static TClass::(anonymous)kHasNameMapNode
static TClass::EStatekHasTClassInit
static TObject::EStatusBitsTObject::kHasUUID
static TClass::(anonymous)kIgnoreTObjectStreamer
static TClass::EStatekInterpreted
static TObject::EStatusBitsTObject::kInvalidObject
static TClass::(anonymous)kIsEmulation
static TClass::(anonymous)kIsForeign
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TClass::(anonymous)kIsTObject
static TClass::ECheckSumkLatestCheckSum
static TDictionary::ESTLTypeTDictionary::kList
static TClass::EStatekLoaded
static TDictionary::ESTLTypeTDictionary::kMap
static TDictionary::ESTLTypeTDictionary::kMultimap
static TDictionary::ESTLTypeTDictionary::kMultiset
static TObject::EStatusBitsTObject::kMustCleanup
static TClass::EStatekNamespaceForMeta
static TClass::ECheckSumkNoBaseCheckSum
static TObject::EStatusBitsTObject::kNoContextMenu
static TClass::ECheckSumkNoEnum
static TClass::EStatekNoInfo
static TClass::ECheckSumkNoRange
static TClass::ECheckSumkNoRangeCheck
static TDictionary::ESTLTypeTDictionary::kNone
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TClass::ENewTypekRealNew
static TClass::ECheckSumkReflex
static TClass::ECheckSumkReflexNoComment
static TDictionary::ESTLTypeTDictionary::kSet
static TObject::(anonymous)TObject::kSingleKey
static TClass::(anonymous)kStartWithTObject
static TClass::(anonymous)kUnloaded
static TDictionary::ESTLTypeTDictionary::kVector
static TClass::(anonymous)kWarned
static TClass::ECheckSumkWithTypeDef
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TViewPubDataMembers*fAllPubDataall public data members (including from base classes)
TViewPubFunctions*fAllPubMethodall public methods (including from base classes)
TList*fBaselinked list for base classes
atomic<Bool_t>fCanLoadClassInfo!Indicates whether the ClassInfo is supposed to be available.
Int_tfCanSplit!Indicates whether this class can be split or not.
UInt_tfCheckSumchecksum of data members and base classes
ClassInfo_t*fClassInfopointer to CINT class info class
TList*fClassMenuListlist of class menu items
Long_tfClassProperty!C++ Property of the class (is abstract, has virtual table, etc.)
Version_tfClassVersionClass version Identifier
TVirtualCollectionProxy*fCollectionProxyCollection interface
TStringfContextMenuTitlecontext menu title
ClassConvStreamerFunc_tfConvStreamerFuncWrapper around this class custom conversion Streamer member function.
TClass::ConvSIMap_tfConversionStreamerInfoArray of the streamer infos derived from another class.
atomic<TVirtualStreamerInfo*>fCurrentInfo!cached current streamer info.
TListOfDataMembers*fDatalinked list for data members
Short_tfDeclFileLineline of class declaration
const char*fDeclFileNamename of class declaration file
ROOT::DelFunc_tfDeletepointer to a function deleting one object.
ROOT::DelArrFunc_tfDeleteArraypointer to a function deleting an array of objects.
ROOT::DesFunc_tfDestructorpointer to a function call an object's destructor.
ROOT::DirAutoAdd_tfDirAutoAddpointer which implements the Directory Auto Add feature for this class.']'
atomic<TListOfEnums*>fEnumslinked list for the enums
TListOfFunctionTemplates*fFuncTemplatelinked list for function templates [Not public until implemented as active list]
IsAGlobalFunc_tfGlobalIsApointer to a global IsA function.
atomic<Bool_t>fHasRootPcmInfo!Whether info was loaded from a root pcm.
Short_tfImplFileLineline of class implementation
const char*fImplFileNamename of class implementation file
UInt_tfInstanceCountnumber of instances of this class
TVirtualIsAProxy*fIsA!pointer to the class's IsA proxy.
atomic<TMethodCall*>fIsAMethod!saved info to call a IsA member function
atomic<Bool_t>fIsOffsetStreamerSet!saved remember if fOffsetStreamer has been set.
atomic<TVirtualStreamerInfo*>fLastReadInfo!cached streamer info used in the last read.
ROOT::MergeFunc_tfMergepointer to a function implementing Merging objects of this class.
atomic<TListOfFunctions*>fMethodlinked list for methods
ROOT::NewFunc_tfNewpointer to a function newing one object.
ROOT::NewArrFunc_tfNewArraypointer to a function newing an array of objects.
static TClass::TDeclNameRegistryfNoInfoOrEmuOrFwdDeclNameRegistryStore the decl names of the forwardd and no info instances
Long_tfOffsetStreamer!saved info to call Streamer
UInt_tfOnHeapnumber of instances on heap
atomic<TClass**>fPersistentRef!Persistent address of pointer to this TClass object and its successors.
atomic<Long_t>fProperty!Property
TList*fRealDatalinked list for persistent members including base classes
TVirtualRefProxy*fRefProxy!Pointer to reference proxy if this class represents a reference
ROOT::ResetAfterMergeFunc_tfResetAfterMergepointer to a function implementing Merging objects of this class.
ROOT::TSchemaRuleSet*fSchemaRules! Schema evolution rules
TStringfSharedLibsshared libraries containing class code
ShowMembersFunc_tfShowMemberspointer to the class's ShowMembers function
Int_tfSizeofSizeof the class.
TClass::EStatefState!Current 'state' of the class (Emulated,Interpreted,Loaded)
TClassStreamer*fStreamerpointer to streamer function
ClassStreamerFunc_tfStreamerFuncWrapper around this class custom Streamer member function.
atomic<TClass::StreamerImpl_t>fStreamerImpl! Pointer to the function implementing the right streaming behavior for the class represented by this object.
TObjArray*fStreamerInfoArray of TVirtualStreamerInfo
Int_tfStreamerType!cached of the streaming method to use
const type_info*fTypeInfopointer to the C++ type information.
atomic<Bool_t>fVersionUsed!Indicates whether GetClassVersion has been called
static atomic<Int_t>fgClassCountprovides unique id for a each class
static THashTable*fgClassTypedefHash
static TClass::EStreamerTypekDefault
static TClass::EStreamerTypekEmulatedStreamer
static TClass::EStreamerTypekExternal
static TClass::EStreamerTypekForeign
static TClass::EStreamerTypekInstrumented
static TClass::(anonymous)kLoading
static TClass::EStreamerTypekTObject
static TClass::(anonymous)kUnloading

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

IdMap_t * GetIdMap()
DeclIdMap_t * GetDeclIdMap()
void AddClass(TClass* cl)
 static: Add a class to the list and map of classes.
void AddClassToDeclIdMap(TDictionary::DeclId_t id, TClass* cl)
 static: Add a TClass* to the map of classes.
void RemoveClass(TClass* cl)
 static: Remove a class from the list and map of classes
void RemoveClassDeclId(TDictionary::DeclId_t id)
TClass()
 Default ctor.
TClass(const char* name, Bool_t silent = kFALSE)
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
 Use this ctor to create a standalone TClass object. Most useful
 to get a TClass interface to an interpreted class. Used by TTabCom.
 Normally you would use TClass::GetClass("class") to get access to a
 TClass object for a certain class.
TClass(const char* name, Version_t cversion, Bool_t silent = kFALSE)
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
TClass(const char* name, Version_t cversion, TClass::EState theState, Bool_t silent = kFALSE)
 Create a TClass object. This object does not contain anything. We mimic
 the case of a class fwd declared in the interpreter.
TClass(ClassInfo_t* info, Version_t cversion, const char* dfil, const char* ifil = 0, Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE)
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
 Use this ctor to create a standalone TClass object. Most useful
 to get a TClass interface to an interpreted class. Used by TTabCom.
 Normally you would use TClass::GetClass("class") to get access to a
 TClass object for a certain class.

 This copies the ClassInfo (i.e. does *not* take ownership of it).
TClass(const char* name, Version_t cversion, const char* dfil, const char* ifil = 0, Int_t dl = 0, Int_t il = 0, Bool_t silent = kFALSE)
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
TClass(const char* name, Version_t cversion, const type_info& info, TVirtualIsAProxy* isa, const char* dfil, const char* ifil, Int_t dl, Int_t il, Bool_t silent = kFALSE)
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
void ForceReload(TClass* oldcl)
 we found at least one equivalent.
 let's force a reload
void Init(const char* name, Version_t cversion, const type_info* info, TVirtualIsAProxy* isa, const char* dfil, const char* ifil, Int_t dl, Int_t il, ClassInfo_t* classInfo, Bool_t silent)
 Initialize a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.
~TClass()
 TClass dtor. Deletes all list that might have been created.
Int_t ReadRules()
 Read the class.rules files from the default location:.
     $ROOTSYS/etc/class.rules (or ROOTETCDIR/class.rules)
Int_t ReadRules(const char* filename)
 Read a class.rules file which contains one rule per line with comment
 starting with a #
 Returns the number of rules loaded.
 Returns -1 in case of error.
Bool_t AddRule(const char* rule)
 Add a schema evolution customization rule.
 The syntax of the rule can be either the short form:
  [type=Read] classname membername [attributes=... ] [version=[...] ] [checksum=[...] ] [oldtype=...] [code={...}]
 or the long form
  [type=Read] sourceClass=classname [targetclass=newClassname] [ source="type membername; [type2 membername2]" ]
      [target="membername3;membername4"] [attributes=... ] [version=...] [checksum=...] [code={...}|functionname]

 For example to set HepMC::GenVertex::m_event to _not_ owned the object it is pointing to:
   HepMC::GenVertex m_event attributes=NotOwner

 Semantic of the tags:
   type : the type of the rule, valid values: Read, ReadRaw, Write, WriteRaw, the default is 'Read'.
   sourceClass : the name of the class as it is on the rule file
   targetClass : the name of the class as it is in the current code ; defaults to the value of sourceClass
   source : the types and names of the data members from the class on file that are needed, the list is separated by semi-colons ';'
   oldtype: in the short form only, indicates the type on disk of the data member.
   target : the names of the data members updated by this rule, the list is separated by semi-colons ';'
   attributes : list of possible qualifiers amongs:
      Owner, NotOwner
   version : list of the version of the class layout that this rule applies to.  The syntax can be [1,4,5] or [2-] or [1-3] or [-3]
   checksum : comma delimited list of the checksums of the class layout that this rule applies to.
   code={...} : code to be executed for the rule or name of the function implementing it.
void AdoptSchemaRules(ROOT::TSchemaRuleSet* rules)
 Adopt a new set of Data Model Evolution rules.
const ROOT::TSchemaRuleSet* GetSchemaRules() const
 Return the set of the schema rules if any.
ROOT::TSchemaRuleSet* GetSchemaRules(Bool_t create = kFALSE)
 Return the set of the schema rules if any.
 If create is true, create an empty set
void AddImplFile(const char* filename, int line)
Int_t AutoBrowse(TObject* obj, TBrowser* browser)
 Browse external object inherited from TObject.
 It passes through inheritance tree and calls TBrowser::Add
 in appropriate cases. Static function.
Int_t Browse(void* obj, TBrowser* b) const
 Browse objects of of the class described by this TClass object.
void Browse(TBrowser* b)
 This method is called by a browser to get the class information.
void BuildRealData(void* pointer = 0, Bool_t isTransient = kFALSE)
 Build a full list of persistent data members.
 Scans the list of all data members in the class itself and also
 in all base classes. For each persistent data member, inserts a
 TRealData object in the list fRealData.

void BuildEmulatedRealData(const char* name, Long_t offset, TClass* cl)
 Build the list of real data for an emulated class
void CalculateStreamerOffset() const
 Calculate the offset between an object of this class to
 its base class TObject. The pointer can be adjusted by
 that offset to access any virtual method of TObject like
 Streamer() and ShowMembers().
Bool_t CallShowMembers(const void* obj, TMemberInspector& insp, Bool_t isTransient = kFALSE) const
 Call ShowMembers() on the obj of this class type, passing insp and parent.
 isATObject is -1 if unknown, 0 if it is not a TObject, and 1 if it is a TObject.
 The function returns whether it was able to call ShowMembers().
void InterpretedShowMembers(void* obj, TMemberInspector& insp, Bool_t isTransient)
 Do a ShowMembers() traversal of all members and base classes' members
 using the reflection information from the interpreter. Works also for
 interpreted objects.
Bool_t CanSplit() const
 Return true if the data member of this TClass can be saved separately.
Long_t ClassProperty() const
 Return the C++ property of this class, eg. is abstract, has virtual base
 class, see EClassProperty in TDictionary.h
TObject * Clone(const char* newname = "") const
 Create a Clone of this TClass object using a different name but using the same 'dictionary'.
 This effectively creates a hard alias for the class name.
void CopyCollectionProxy(const TVirtualCollectionProxy& )
 Copy the argument.
void Draw(Option_t* option = "")
 Draw detailed class inheritance structure.
 If a class B inherits from a class A, the description of B is drawn
 on the right side of the description of A.
 Member functions overridden by B are shown in class A with a blue line
 erasing the corresponding member function
void Dump(const void* obj, Bool_t noAddr = kFALSE) const
 Dump contents of object on stdout.
 Using the information in the object dictionary
 each data member is interpreted.
 If a data member is a pointer, the pointer value is printed
 'obj' is assume to point to an object of the class describe by this TClass

 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

 If noAddr is true, printout of all pointer values is skipped.
char * EscapeChars(const char* text) const
 Introduce an escape character (@) in front of a special chars.
 You need to use the result immediately before it is being overwritten.
TClass * GetActualClass(const void* object) const
 Return a pointer the the real class of the object.
 This is equivalent to object->IsA() when the class has a ClassDef.
 It is REQUIRED that object is coming from a proper pointer to the
 class represented by 'this'.
 Example: Special case:
    class MyClass : public AnotherClass, public TObject
 then on return, one must do:
    TObject *obj = (TObject*)((void*)myobject)directory->Get("some object of MyClass");
    MyClass::Class()->GetActualClass(obj); // this would be wrong!!!
 Also if the class represented by 'this' and NONE of its parents classes
 have a virtual ptr table, the result will be 'this' and NOT the actual
 class.
TClass * GetBaseClass(const char* classname)
 Return pointer to the base class "classname". Returns 0 in case
 "classname" is not a base class. Takes care of multiple inheritance.
TClass * GetBaseClass(const TClass* base)
 Return pointer to the base class "cl". Returns 0 in case "cl"
 is not a base class. Takes care of multiple inheritance.
Int_t GetBaseClassOffsetRecurse(const TClass* toBase)
 Return data member offset to the base class "cl".
 Returns -1 in case "cl" is not a base class.
 Returns -2 if cl is a base class, but we can't find the offset
 because it's virtual.
 Takes care of multiple inheritance.
Int_t GetBaseClassOffset(const TClass* toBase, void* address = 0, bool isDerivedObject = true)
 Return data member offset to the base class "cl".
 Returns -1 in case "cl" is not a base class.
 Takes care of multiple inheritance.
TClass * GetBaseDataMember(const char* datamember)
 Return pointer to (base) class that contains datamember.
TVirtualCollectionProxy * GetCollectionProxy() const
 Return the proxy describing the collection (if any).
TClassStreamer * GetStreamer() const
 Return the Streamer Class allowing streaming (if any).
ClassStreamerFunc_t GetStreamerFunc() const
 Get a wrapper/accessor function around this class custom streamer (member function).
ClassConvStreamerFunc_t GetConvStreamerFunc() const
 Get a wrapper/accessor function around this class custom conversion streamer (member function).
TVirtualIsAProxy* GetIsAProxy() const
 Return the proxy implementing the IsA functionality.
TClass * GetClass(const char* name, Bool_t load = kTRUE, Bool_t silent = kFALSE)
 Static method returning pointer to TClass of the specified class name.
 If load is true an attempt is made to obtain the class by loading
 the appropriate shared library (directed by the rootmap file).
 If silent is 'true', do not warn about missing dictionary for the class.
 (typically used for class that are used only for transient members)
 Returns 0 in case class is not found.
TClass * GetClass(const type_info& typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE)
 Return pointer to class with name.
TClass * GetClass(ClassInfo_t* info, Bool_t load = kTRUE, Bool_t silent = kFALSE)
 Static method returning pointer to TClass of the specified ClassInfo.
 If load is true an attempt is made to obtain the class by loading
 the appropriate shared library (directed by the rootmap file).
 If silent is 'true', do not warn about missing dictionary for the class.
 (typically used for class that are used only for transient members)
 Returns 0 in case class is not found.
Bool_t HasNoInfoOrEmuOrFwdDeclaredDecl(const char* )
Bool_t GetClass(TDictionary::DeclId_t id, vector<TClass*>& classes)
DictFuncPtr_t GetDict(const char* cname)
 Return a pointer to the dictionary loading function generated by
 rootcint
DictFuncPtr_t GetDict(const type_info& info)
 Return a pointer to the dictionary loading function generated by
 rootcint
TDataMember * GetDataMember(const char* datamember) const
 Return pointer to datamember object with name "datamember".
Long_t GetDataMemberOffset(const char* membername) const
 return offset for member name. name can be a data member in
 the class itself, one of its base classes, or one member in
 one of the aggregated classes.

 In case of an emulated class, the list of emulated TRealData is built
TRealData* GetRealData(const char* name) const
 -- Return pointer to TRealData element with name "name".

 Name can be a data member in the class itself,
 one of its base classes, or a member in
 one of the aggregated classes.

 In case of an emulated class, the list of emulated TRealData is built.

TFunctionTemplate * GetFunctionTemplate(const char* name)
const char * GetSharedLibs()
 Get the list of shared libraries containing the code for class cls.
 The first library in the list is the one containing the class, the
 others are the libraries the first one depends on. Returns 0
 in case the library is not found.
TList * GetListOfBases()
 Return list containing the TBaseClass(es) of a class.
TList * GetListOfEnums(Bool_t load = kTRUE)
 Return list containing the TEnums of a class.
TList * GetListOfDataMembers(Bool_t load = kTRUE)
 Return list containing the TDataMembers of a class.
TList * GetListOfFunctionTemplates(Bool_t load = kTRUE)
 Return list containing the TEnums of a class.
TList * GetListOfMethods(Bool_t load = kTRUE)
 Return list containing the TMethods of a class.
 If load is true, the list is populated with all the defined function
 and currently instantiated function template.
TCollection * GetListOfMethodOverloads(const char* name) const
 Return the collection of functions named "name".
const TList * GetListOfAllPublicMethods(Bool_t load = kTRUE)
 Returns a list of all public methods of this class and its base classes.
 Refers to a subset of the methods in GetListOfMethods() so don't do
 GetListOfAllPublicMethods()->Delete().
 Algorithm used to get the list is:
 - put all methods of the class in the list (also protected and private
   ones).
 - loop over all base classes and add only those methods not already in the
   list (also protected and private ones).
 - once finished, loop over resulting list and remove all private and
   protected methods.
TList * GetListOfAllPublicDataMembers(Bool_t load = kTRUE)
 Returns a list of all public data members of this class and its base
 classes. Refers to a subset of the data members in GetListOfDatamembers()
 so don't do GetListOfAllPublicDataMembers()->Delete().
void GetMenuItems(TList* listitems)
 Returns list of methods accessible by context menu.
Bool_t HasDictionary()
 Check whether a class has a dictionary or not.
 This is equivalent to ask if a class is coming from a bootstrapping
 procedure initiated during the loading of a library.
Bool_t HasDictionarySelection(const char* clname)
 Check whether a class has a dictionary or ROOT can load one.
 This is equivalent to ask HasDictionary() or whether a library is known
 where it can be loaded from, or whether a Dictionary function is
 available because the class's dictionary library was already loaded.
void GetMissingDictionariesForBaseClasses(TCollection& result, TCollection& visited, bool recurse)
 Verify the base classes always.
void GetMissingDictionariesForMembers(TCollection& result, TCollection& visited, bool recurse)
 Verify the Data Members.
void GetMissingDictionariesForPairElements(TCollection& result, TCollection& visited, bool recurse)
 Pair is a special case and we have to check its elements for missing dictionaries
 Pair is a transparent container so we should always look at its.
void GetMissingDictionariesWithRecursionCheck(TCollection& result, TCollection& visited, bool recurse)
 From the second level of recursion onwards it is different state check.
void GetMissingDictionaries(THashTable& result, bool recurse = false)
 Get the classes that have a missing dictionary starting from this one.
 With recurse = false the classes checked for missing dictionaries are:
                      the class itself, all base classes, direct data members,
                      and for collection proxies the container's
                      elements without iterating over the element's data members;
 With recurse = true the classes checked for missing dictionaries are:
                      the class itself, all base classes, recursing on the data members,
                      and for the collection proxies recursiong on the elements of the
                      collection and iterating over the element's data members.
Bool_t IsFolder(void* obj) const
 Return kTRUE if the class has elements.
void ReplaceWith(TClass* newcl) const
 Inform the other objects to replace this object by the new TClass (newcl)
void ResetClassInfo(Long_t tagnum)
 Make sure that the current ClassInfo is up to date.
void ResetClassInfo()
 Make sure that the current ClassInfo is up to date.
void ResetCaches()
 To clean out all caches.
void ResetMenuList()
 Resets the menu list to it's standard value.
void ls(Option_t* opt = "") const
 The ls function lists the contents of a class on stdout. Ls output
 is typically much less verbose then Dump().
 If options contains 'streamerinfo', run ls on the list of streamerInfos
 and the list of conversion streamerInfos.
void MakeCustomMenuList()
 Makes a customizable version of the popup menu list, i.e. makes a list
 of TClassMenuItem objects of methods accessible by context menu.
 The standard (and different) way consists in having just one element
 in this list, corresponding to the whole standard list.
 Once the customizable version is done, one can remove or add elements.
void Move(void* arenaFrom, void* arenaTo) const
 Register the fact that an object was moved from the memory location
 'arenaFrom' to the memory location 'arenaTo'.
TList * GetMenuList() const
 Return the list of menu items associated with the class.
TListOfFunctions * GetMethodList()
 Return (create an empty one if needed) the list of functions.
 The major difference with GetListOfMethod is that this returns
 the internal type of fMethod and thus can not be made public.
 It also never 'loads' the content of the list.
TMethod * GetMethodAny(const char* method)
 Return pointer to method without looking at parameters.
 Does not look in (possible) base classes.
 Has the side effect of loading all the TMethod object in the list
 of the class.
TMethod * GetMethodAllAny(const char* method)
 Return pointer to method without looking at parameters.
 Does look in all base classes.
TMethod * GetMethod(const char* method, const char* params, Bool_t objectIsConst = kFALSE)
 Find the best method (if there is one) matching the parameters.
 The params string must contain argument values, like "3189, \"aap\", 1.3".
 The function invokes GetClassMethod to search for a possible method
 in the class itself or in its base classes. Returns 0 in case method
 is not found.
TMethod* FindClassOrBaseMethodWithId(TDictionary::DeclId_t faddr)
 Find a method with decl id in this class or its bases.
TMethod * GetMethodWithPrototype(const char* method, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch)
 Find the method with a given prototype. The proto string must be of the
 form: "char*,int,double". Returns 0 in case method is not found.
TMethod * GetClassMethod(Long_t faddr)
 Look for a method in this class that has the interface function
 address faddr.
TMethod * GetClassMethod(const char* name, const char* params, Bool_t objectIsConst = kFALSE)
 Look for a method in this class that has the name and matches the parameters.
 The params string must contain argument values, like "3189, \"aap\", 1.3".
 Returns 0 in case method is not found.
 See TClass::GetMethod to also search the base classes.
TMethod * GetClassMethodWithPrototype(const char* name, const char* proto, Bool_t objectIsConst = kFALSE, ROOT::EFunctionMatchMode mode = ROOT::kConversionMatch)
 Find the method with a given prototype. The proto string must be of the
 form: "char*,int,double". Returns 0 in case method is not found.
 See TClass::GetMethodWithPrototype to also search the base classes.
Int_t GetNdata()
 Return the number of data members of this class
 Note that in case the list of data members is not yet created, it will be done
 by GetListOfDataMembers().
Int_t GetNmethods()
 Return the number of methods of this class
 Note that in case the list of methods is not yet created, it will be done
 by GetListOfMethods().
 This will also load/populate the list of methods, to get 'just' the
 number of currently loaded methods use:
    cl->GetListOfMethods(false)->GetSize();
TVirtualStreamerInfo* GetStreamerInfo(Int_t version = 0) const
 returns a pointer to the TVirtualStreamerInfo object for version
 If the object does not exist, it is created

 Note: There are two special version numbers:

       0: Use the class version from the currently loaded class library.
      -1: Assume no class library loaded (emulated class).

 Warning:  If we create a new streamer info, whether or not the build
           optimizes is controlled externally to us by a global variable!
           Don't call us unless you have set that variable properly
           with TStreamer::Optimize()!

TVirtualStreamerInfo* GetStreamerInfoAbstractEmulated(Int_t version = 0) const
 For the case where the requestor class is emulated and this class is abstract,
 returns a pointer to the TVirtualStreamerInfo object for version with an emulated
 representation whether or not the class is loaded.

 If the object does not exist, it is created

 Note: There are two special version numbers:

       0: Use the class version from the currently loaded class library.
      -1: Assume no class library loaded (emulated class).

 Warning:  If we create a new streamer info, whether or not the build
           optimizes is controlled externally to us by a global variable!
           Don't call us unless you have set that variable properly
           with TStreamer::Optimize()!

TVirtualStreamerInfo* FindStreamerInfoAbstractEmulated(UInt_t checksum) const
 For the case where the requestor class is emulated and this class is abstract,
 returns a pointer to the TVirtualStreamerInfo object for version with an emulated
 representation whether or not the class is loaded.

 If the object does not exist, it is created

 Warning:  If we create a new streamer info, whether or not the build
           optimizes is controlled externally to us by a global variable!
           Don't call us unless you have set that variable properly
           with TStreamer::Optimize()!

void IgnoreTObjectStreamer(Bool_t ignore = kTRUE)
  When the class kIgnoreTObjectStreamer bit is set, the automatically
  generated Streamer will not call TObject::Streamer.
  This option saves the TObject space overhead on the file.
  However, the information (fBits, fUniqueID) of TObject is lost.

  Note that to be effective for objects streamed object-wise this function
  must be called for the class deriving directly from TObject, eg, assuming
  that BigTrack derives from Track and Track derives from TObject, one must do:
     Track::Class()->IgnoreTObjectStreamer();
  and not:
     BigTrack::Class()->IgnoreTObjectStreamer();
  To be effective for object streamed member-wise or split in a TTree,
  this function must be called for the most derived class (i.e. BigTrack).
Bool_t InheritsFrom(const char* cl) const
 Return kTRUE if this class inherits from a class with name "classname".
 note that the function returns kTRUE in case classname is the class itself
Bool_t InheritsFrom(const TClass* cl) const
 Return kTRUE if this class inherits from class cl.
 note that the function returns KTRUE in case cl is the class itself
void * DynamicCast(const TClass* base, void* obj, Bool_t up = kTRUE)
 Cast obj of this class type up to baseclass cl if up is true.
 Cast obj of this class type down from baseclass cl if up is false.
 If this class is not a baseclass of cl return 0, else the pointer
 to the cl part of this (up) or to this (down).
const void * DynamicCast(const TClass* base, const void* obj, Bool_t up = kTRUE)
 Cast obj of this class type up to baseclass cl if up is true.
 Cast obj of this class type down from baseclass cl if up is false.
 If this class is not a baseclass of cl return 0, else the pointer
 to the cl part of this (up) or to this (down).
void * New(TClass::ENewType defConstructor = kClassNew, Bool_t quiet = kFALSE) const
 Return a pointer to a newly allocated object of this class.
 The class must have a default constructor. For meaning of
 defConstructor, see TClass::IsCallingNew().

 If quiet is true, do no issue a message via Error on case
 of problems, just return 0.

 The constructor actually called here can be customized by
 using the rootcint pragma:
    #pragma link C++ ioctortype UserClass;
 For example, with this pragma and a class named MyClass,
 this method will called the first of the following 3
 constructors which exists and is public:
    MyClass(UserClass*);
    MyClass(TRootIOCtor*);
    MyClass(); // Or a constructor with all its arguments defaulted.

 When more than one pragma ioctortype is used, the first seen as priority
 For example with:
    #pragma link C++ ioctortype UserClass1;
    #pragma link C++ ioctortype UserClass2;
 We look in the following order:
    MyClass(UserClass1*);
    MyClass(UserClass2*);
    MyClass(TRootIOCtor*);
    MyClass(); // Or a constructor with all its arguments defaulted.

void * New(void* arena, TClass::ENewType defConstructor = kClassNew) const
 Return a pointer to a newly allocated object of this class.
 The class must have a default constructor. For meaning of
 defConstructor, see TClass::IsCallingNew().
void * NewArray(Long_t nElements, TClass::ENewType defConstructor = kClassNew) const
 Return a pointer to a newly allocated array of objects
 of this class.
 The class must have a default constructor. For meaning of
 defConstructor, see TClass::IsCallingNew().
void * NewArray(Long_t nElements, void* arena, TClass::ENewType defConstructor = kClassNew) const
 Return a pointer to a newly allocated object of this class.
 The class must have a default constructor. For meaning of
 defConstructor, see TClass::IsCallingNew().
void Destructor(void* obj, Bool_t dtorOnly = kFALSE)
 Explicitly call destructor for object.
void DeleteArray(void* ary, Bool_t dtorOnly = kFALSE)
 Explicitly call operator delete[] for an array.
void SetCanSplit(Int_t splitmode)
 Set the splitability of this class:
   -1: Use the default calculation
    0: Disallow splitting
    1: Always allow splitting.
void SetClassVersion(Version_t version)
 Private function.  Set the class version for the 'class' represented by
 this TClass object.  See the public interface:
    ROOT::ResetClassVersion
 defined in TClassTable.cxx

 Note on class version numbers:
   If no class number has been specified, TClass::GetVersion will return -1
   The Class Version 0 request the whole object to be transient
   The Class Version 1, unless specified via ClassDef indicates that the
      I/O should use the TClass checksum to distinguish the layout of the class
TVirtualStreamerInfo* DetermineCurrentStreamerInfo()
 Determine and set pointer to current TVirtualStreamerInfo
void SetCurrentStreamerInfo(TVirtualStreamerInfo* info)
 Set pointer to current TVirtualStreamerInfo
Int_t Size() const
 Return size of object of this class.
TClass * Load(TBuffer& b)
 Load class description from I/O buffer and return class object.
TClass * LoadClass(const char* requestedname, Bool_t silent)
 Helper function used by TClass::GetClass().
 This function attempts to load the dictionary for 'classname'
 either from the TClassTable or from the list of generator.
 If silent is 'true', do not warn about missing dictionary for the class.
 (typically used for class that are used only for transient members)

 The 'requestedname' is expected to be already normalized.
TClass * LoadClassDefault(const char* requestedname, Bool_t silent)
 Helper function used by TClass::GetClass().
 This function attempts to load the dictionary for 'classname' from
 the TClassTable or the autoloader.
 If silent is 'true', do not warn about missing dictionary for the class.
 (typically used for class that are used only for transient members)

 The 'requestedname' is expected to be already normalized.
TClass * LoadClassCustom(const char* requestedname, Bool_t silent)
 Helper function used by TClass::GetClass().
 This function attempts to load the dictionary for 'classname'
 from the list of generator.
 If silent is 'true', do not warn about missing dictionary for the class.
 (typically used for class that are used only for transient members)

 The 'requestedname' is expected to be already normalized.
void LoadClassInfo() const
 Try to load the classInfo (it may require parsing the header file
 and/or loading data from the clang pcm).
void Store(TBuffer& b) const
 Store class description on I/O buffer.
Bool_t IsLoaded() const
 Return true if the shared library of this class is currently in the a
 process's memory.  Return false, after the shared library has been
 unloaded or if this is an 'emulated' class created from a file's StreamerInfo.
Bool_t IsStartingWithTObject() const
 Returns true if this class inherits from TObject and if the start of
 the TObject parts is at the very beginning of the objects.
 Concretly this means that the following code is proper for this class:
     ThisClass *ptr;
     void *void_ptr = (void)ptr;
     TObject *obj = (TObject*)void_ptr;
 This code would be wrong if 'ThisClass' did not inherit 'first' from
 TObject.
Bool_t IsTObject() const
 Return kTRUE is the class inherits from TObject.
Bool_t IsForeign() const
 Return kTRUE is the class is Foreign (the class does not have a Streamer method).
void PostLoadCheck()
 Do the initialization that can only be done after the CINT dictionary has
 been fully populated and can not be delayed efficiently.
Long_t Property() const
 Set TObject::fBits and fStreamerType to cache information about the
 class.  The bits are
    kIsTObject : the class inherits from TObject
    kStartWithTObject:  TObject is the left-most class in the inheritance tree
    kIsForeign : the class doe not have a Streamer method
 The value of fStreamerType are
    kTObject : the class inherits from TObject
    kForeign : the class does not have a Streamer method
    kInstrumented: the class does have a Streamer method
    kExternal: the class has a free standing way of streaming itself
    kEmulatedStreamer: the class is missing its shared library.
void SetStreamerImpl()
 Internal routine to set fStreamerImpl based on the value of
 fStreamerType.
void SetCollectionProxy(const ROOT::TCollectionProxyInfo& )
 Create the collection proxy object (and the streamer object) from
 using the information in the TCollectionProxyInfo.
void SetContextMenuTitle(const char* title)
 Change (i.e. set) the title of the TNamed.
void SetGlobalIsA(IsAGlobalFunc_t )
 This function installs a global IsA function for this class.
 The global IsA function will be used if there is no local IsA function (fIsA)

 A global IsA function has the signature:

    TClass *func( TClass *cl, const void *obj);

 'cl' is a pointer to the  TClass object that corresponds to the
 'pointer type' used to retrieve the value 'obj'

  For example with:
    TNamed * m = new TNamed("example","test");
    TObject* o = m
 and
    the global IsA function would be called with TObject::Class() as
    the first parameter and the exact numerical value in the pointer
    'o'.

  In other word, inside the global IsA function. it is safe to C-style
  cast the value of 'obj' into a pointer to the class described by 'cl'.
void SetUnloaded()
 Call this method to indicate that the shared library containing this
 class's code has been removed (unloaded) from the process's memory
TVirtualStreamerInfo * SetStreamerInfo(Int_t version, const char* info = "")
 Info is a string describing the names and types of attributes
 written by the class Streamer function.
 If info is an empty string (when called by TObject::StreamerInfo)
 the default Streamer info string is build. This corresponds to
 the case of an automatically generated Streamer.
 In case of user defined Streamer function, it is the user responsability
 to implement a StreamerInfo function (override TObject::StreamerInfo).
 The user must call IsA()->SetStreamerInfo(info) from this function.
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 calulcation algorithm.
UInt_t GetCheckSum(ECheckSum code)
 Call GetCheckSum with validity check.
UInt_t GetCheckSum(Bool_t& isvalid) const
 Return GetCheckSum(kCurrentCheckSum,isvalid);
UInt_t GetCheckSum(TClass::ECheckSum code, Bool_t& isvalid) const
 Compute and/or return the class check sum.

 isvalid is set to false, if the function is unable to calculate the
 checksum.

 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.
 Original algorithm from Victor Perevovchikov (perev@bnl.gov).

 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 TStreamerInfo::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.
void AdoptReferenceProxy(TVirtualRefProxy* proxy)
 Adopt the Reference proxy pointer to indicate that this class
 represents a reference.
 When a new proxy is adopted, the old one is deleted.
void AdoptMemberStreamer(const char* name, TMemberStreamer* strm)
 Adopt the TMemberStreamer pointer to by p and use it to Stream non basic
 member name.
void SetMemberStreamer(const char* name, MemberStreamerFunc_t strm)
 Install a new member streamer (p will be copied).
Int_t ReadBuffer(TBuffer& b, void* pointer, Int_t version, UInt_t start, UInt_t count)
 Function called by the Streamer functions to deserialize information
 from buffer b into object at p.
 This function assumes that the class version and the byte count information
 have been read.
   version  is the version number of the class
   start    is the starting position in the buffer b
   count    is the number of bytes for this object in the buffer
Int_t ReadBuffer(TBuffer& b, void* pointer)
 Function called by the Streamer functions to deserialize information
 from buffer b into object at p.
Int_t WriteBuffer(TBuffer& b, void* pointer, const char* info = "")
 Function called by the Streamer functions to serialize object at p
 to buffer b. The optional argument info may be specified to give an
 alternative StreamerInfo instead of using the default StreamerInfo
 automatically built from the class definition.
 For more information, see class TVirtualStreamerInfo.
void StreamerExternal(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
There is special streamer for the class
void StreamerTObject(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of TObjects
void StreamerTObjectInitialized(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of TObjects when fIsOffsetStreamerSet is known to have been set.
void StreamerTObjectEmulated(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of TObjects when we do not have the library defining the class.
void StreamerInstrumented(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of instrumented class with a library
void ConvStreamerInstrumented(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of instrumented class with a library
void StreamerStreamerInfo(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Case of where we should directly use the StreamerInfo.
    case kForeign:
    case kForeign|kEmulatedStreamer:
    case kInstrumented|kEmulatedStreamer:
    case kEmulatedStreamer:
void StreamerDefault(const TClass* pThis, void* object, TBuffer& b, const TClass* onfile_class)
 Default streaming in cases where either we have no way to know what to do
 or if Property() has not yet been called.
void AdoptStreamer(TClassStreamer* strm)
 Adopt a TClassStreamer object.  Ownership is transfered to this TClass
 object.
void SetStreamerFunc(ClassStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom streamer.
void SetConvStreamerFunc(ClassConvStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom conversion streamer.
void SetMerge(ROOT::MergeFunc_t mergeFunc)
 Install a new wrapper around 'Merge'.
void SetResetAfterMerge(ROOT::ResetAfterMergeFunc_t resetFunc)
 Install a new wrapper around 'ResetAfterMerge'.
void SetNew(ROOT::NewFunc_t newFunc)
 Install a new wrapper around 'new'.
void SetNewArray(ROOT::NewArrFunc_t newArrayFunc)
 Install a new wrapper around 'new []'.
void SetDelete(ROOT::DelFunc_t deleteFunc)
 Install a new wrapper around 'delete'.
void SetDeleteArray(ROOT::DelArrFunc_t deleteArrayFunc)
 Install a new wrapper around 'delete []'.
void SetDestructor(ROOT::DesFunc_t destructorFunc)
 Install a new wrapper around the destructor.
void SetDirectoryAutoAdd(ROOT::DirAutoAdd_t dirAutoAddFunc)
 Install a new wrapper around the directory auto add function..
 The function autoAddFunc has the signature void (*)(void *obj, TDirectory dir)
 and should register 'obj' to the directory if dir is not null
 and unregister 'obj' from its current directory if dir is null
TVirtualStreamerInfo * FindStreamerInfo(UInt_t checksum) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum
TVirtualStreamerInfo * FindStreamerInfo(TObjArray* arr, UInt_t checksum) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum
TVirtualStreamerInfo * GetConversionStreamerInfo(const char* onfile_classname, Int_t version) const
 Return a Conversion StreamerInfo from the class 'classname' for version number 'version' to this class, if any.
TVirtualStreamerInfo * GetConversionStreamerInfo(const TClass* onfile_cl, Int_t version) const
 Return a Conversion StreamerInfo from the class represened by cl for version number 'version' to this class, if any.
TVirtualStreamerInfo * FindConversionStreamerInfo(const char* onfile_classname, UInt_t checksum) const
 Return a Conversion StreamerInfo from the class 'classname' for the layout represented by 'checksum' to this class, if any.
TVirtualStreamerInfo * FindConversionStreamerInfo(const TClass* onfile_cl, UInt_t checksum) const
 Return a Conversion StreamerInfo from the class represened by cl for the layout represented by 'checksum' to this class, if any.
void RegisterStreamerInfo(TVirtualStreamerInfo* info)
 Register the StreamerInfo in the given slot, change the State of the
 TClass as appropriate.
void RemoveStreamerInfo(Int_t slot)
 Remove and delete the StreamerInfo in the given slot.
 Update the slot accordingly.
Bool_t HasDefaultConstructor() const
 Return true if we have access to a default constructor.
ROOT::MergeFunc_t GetMerge() const
 Return the wrapper around Merge.
ROOT::ResetAfterMergeFunc_t GetResetAfterMerge() const
 Return the wrapper around Merge.
ROOT::NewFunc_t GetNew() const
 Return the wrapper around new ThisClass().
ROOT::NewArrFunc_t GetNewArray() const
 Return the wrapper around new ThisClass[].
ROOT::DelFunc_t GetDelete() const
 Return the wrapper around delete ThiObject.
ROOT::DelArrFunc_t GetDeleteArray() const
 Return the wrapper around delete [] ThiObject.
ROOT::DesFunc_t GetDestructor() const
 Return the wrapper around the destructor
ROOT::DirAutoAdd_t GetDirectoryAutoAdd() const
 Return the wrapper around the directory auto add function.
void SetClassSize(Int_t sizof)
{ fSizeof = sizof; }
TClass(const TClass& tc)
TClass& operator=(const TClass& )
void AddInstance(Bool_t heap = kFALSE)
{ fInstanceCount++; if (heap) fOnHeap++; }
Bool_t CanIgnoreTObjectStreamer()
void Dump() const
Bool_t HasDataMemberInfo() const
Bool_t HasInterpreterInfoInMemory() const
{ return 0 != fClassInfo; }
Bool_t HasInterpreterInfo() const
Version_t GetClassVersion() const
Int_t GetClassSize() const
{ return Size(); }
const char * GetDeclFileName() const
{ return fDeclFileName; }
Short_t GetDeclFileLine() const
{ return fDeclFileLine; }
ClassInfo_t * GetClassInfo() const
const char * GetContextMenuTitle() const
{ return fContextMenuTitle; }
TVirtualStreamerInfo * GetCurrentStreamerInfo()
TVirtualStreamerInfo * GetLastReadInfo() const
{ return fLastReadInfo; }
void SetLastReadInfo(TVirtualStreamerInfo* info)
{ fLastReadInfo = info; }
TList * GetListOfRealData() const
{ return fRealData; }
const char * GetImplFileName() const
{ return fImplFileName; }
Short_t GetImplFileLine() const
{ return fImplFileLine; }
UInt_t GetInstanceCount() const
{ return fInstanceCount; }
UInt_t GetHeapInstanceCount() const
{ return fOnHeap; }
TClass ** GetPersistentRef() const
{ return fPersistentRef; }
TVirtualRefProxy * GetReferenceProxy() const
{ return fRefProxy; }
ShowMembersFunc_t GetShowMembersWrapper() const
{ return fShowMembers; }
EState GetState() const
{ return fState; }
const TObjArray * GetStreamerInfos() const
{ return fStreamerInfo; }
const type_info * GetTypeInfo() const
{ return fTypeInfo; }
Bool_t IsFolder() const
{ return kTRUE; }
Bool_t IsVersioned() const
{ return !( GetClassVersion()<=1 && IsForeign() ); }
void ResetInstanceCount()
void SetDeclFile(const char* name, int line)
{ fDeclFileName = name; fDeclFileLine = line; }
void SetImplFileName(const char* implFileName)
{ fImplFileName = implFileName; }
ENewType IsCallingNew()
void Streamer(void* obj, TBuffer& b, const TClass* onfile_class = 0) const
 Inline for performance, skipping one function call.