16#include "RConfigure.h"
50 virtual void DoError(
int level,
const char *location,
const char *fmt, va_list va)
const;
110 virtual void Dump()
const;
111 virtual void Execute(
const char *method,
const char *params,
Int_t *error=0);
118 virtual const char *
GetName()
const;
122 virtual const char *
GetTitle()
const;
143 virtual void SaveAs(
const char *filename=
"",
Option_t *option=
"")
const;
156 void operator delete(
void *ptr);
157 void operator delete[](
void *ptr);
160 void operator delete(
void*, size_t);
161 void operator delete[](
void*, size_t);
163#ifdef R__PLACEMENTDELETE
164 void operator delete(
void *ptr,
void *vp);
165 void operator delete[](
void *ptr,
void *vp);
177 virtual void Info(
const char *method,
const char *msgfmt, ...) const
178#if defined(__GNUC__) && !defined(__CINT__)
179 __attribute__((format(printf, 3, 4)))
182 virtual void Warning(
const char *method,
const char *msgfmt, ...) const
183#if defined(__GNUC__) && !defined(__CINT__)
184 __attribute__((format(printf, 3, 4)))
187 virtual void Error(
const char *method,
const char *msgfmt, ...) const
188#if defined(__GNUC__) && !defined(__CINT__)
189 __attribute__((format(printf, 3, 4)))
192 virtual void SysError(
const char *method,
const char *msgfmt, ...) const
193#if defined(__GNUC__) && !defined(__CINT__)
194 __attribute__((format(printf, 3, 4)))
197 virtual void Fatal(
const char *method,
const char *msgfmt, ...) const
198#if defined(__GNUC__) && !defined(__CINT__)
199 __attribute__((format(printf, 3, 4)))
204 void MayNotUse(
const char *method)
const;
205 void Obsolete(
const char *method,
const char *asOfVers,
const char *removedFromVers)
const;
252 fBits &= ~kIsReferenced;
253 fBits &= ~kCanDelete;
279 fBits &= ~kIsReferenced;
280 fBits &= ~kCanDelete;
311 if (!CheckTObjectHashConsistency())
350 std::string printValue(
TObject *val);
#define R__unlikely(expr)
#define ClassDef(name, id)
Using a TBrowser one can browse all ROOT objects.
Buffer base class used for serializing objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
An array of clone (identical) objects.
Each ROOT class (see TClass) has a linked list of methods.
Mother of all ROOT objects.
void AbstractMethod(const char *method) const
Use this method to implement an "abstract" method that you don't want to leave purely abstract.
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
virtual void Inspect() const
Dump contents of this object in a graphics canvas.
virtual void Clear(Option_t *="")
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Computes distance from point (px,py) to the object.
Bool_t HasInconsistentHash() const
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveR...
static void SetObjectStat(Bool_t stat)
Turn on/off tracking of objects in the TObjectTable.
virtual Bool_t Notify()
This method must be overridden to handle object notification.
ULong_t CheckedHash()
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return t...
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual Bool_t IsEqual(const TObject *obj) const
Default equal comparison (objects are equal if they have the same address in memory).
@ 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
virtual const char * GetName() const
Returns name of object.
TObject & operator=(const TObject &rhs)
TObject assignment operator.
virtual void Browse(TBrowser *b)
Browse object. May be overridden for another default action.
virtual void Dump() const
Dump contents of object on stdout.
UInt_t fUniqueID
object unique identifier
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual const char * GetIconName() const
Returns mime type name of object.
virtual void RecursiveRemove(TObject *obj)
Recursively remove this object from a list.
virtual void DoError(int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected).
virtual Bool_t HandleTimer(TTimer *timer)
Execute action in response of a timer timing out.
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
virtual UInt_t GetUniqueID() const
Return the unique object id.
UInt_t fBits
bit field status word
static Long_t GetDtorOnly()
Return destructor only flag.
virtual Bool_t IsSortable() const
virtual Option_t * GetOption() const
virtual void Execute(const char *method, const char *params, Int_t *error=0)
Execute method on this object with the given parameter string, e.g.
virtual void SysError(const char *method, const char *msgfmt,...) const
Issue system error message.
R__ALWAYS_INLINE Bool_t IsOnHeap() const
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
virtual Option_t * GetDrawOption() const
Get option used by the graphics system to draw this object.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
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 clas...
static Long_t fgDtorOnly
object for which to call dtor only (i.e. no delete)
virtual TObject * DrawClone(Option_t *option="") const
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad...
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to an event at (px,py).
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py).
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
R__ALWAYS_INLINE Bool_t IsZombie() const
@ kOverwrite
overwrite existing object with same name
@ kSingleKey
write collection with single key
@ kWriteDelete
write object, then delete previous key with same name
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save this object in the file specified by filename.
virtual void Delete(Option_t *option="")
Delete this object.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
static Bool_t GetObjectStat()
Get status of object stat flag.
virtual void Copy(TObject &object) const
Copy this to obj.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void SetDrawOption(Option_t *option="")
Set drawing option for object.
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
static void SetDtorOnly(void *obj)
Set destructor only flag.
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
virtual const char * GetTitle() const
Returns title of object.
@ kObjInCanvas
for backward compatibility only, use kMustCleanup
virtual void DrawClass() const
Draw class inheritance tree of the class to which this object belongs.
Int_t TestBits(UInt_t f) const
virtual Int_t Compare(const TObject *obj) const
Compare abstract method.
virtual ~TObject()
TObject destructor.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
virtual void Paint(Option_t *option="")
This method must be overridden if a class wants to paint itself.
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
virtual void Pop()
Pop on object drawn in a pad to the top of the display list.
TObject()
TObject constructor.
virtual ULong_t Hash() const
Return hash value for this object.
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
static Bool_t fgObjectStat
if true keep track of objects in TObjectTable
@ kCannotPick
if object in a pad cannot be picked
@ kNoContextMenu
if object does not want context menu
@ kCanDelete
if object in a list can be deleted
@ kHasUUID
if object has a TUUID (its fUniqueID=UUIDNumber)
@ kInvalidObject
if object ctor succeeded but object should not be used
@ kIsReferenced
if object is referenced by a TRef or TRefArray
@ kMustCleanup
if object destructor must call RecursiveRemove()
virtual Int_t Read(const char *name)
Read contents of object with specified name from the current directory.
static void AddToTObjectTable(TObject *)
Private helper function which will dispatch to TObjectTable::AddObj.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
void Obsolete(const char *method, const char *asOfVers, const char *removedFromVers) const
Use this method to declare a method obsolete.
static void UpdateIsOnHeap(volatile const UInt_t &uniqueID, volatile UInt_t &bits)
static void * ObjectAllocArray(size_t size)
Used to allocate array of TObject on the heap (via TObject::operator new[]()).
static void * ObjectAlloc(size_t size)
Used to allocate a TObject on the heap (via TObject::operator new()).
Handles synchronous and a-synchronous timer events.