TObject Mother of all ROOT objects. The TObject class provides default behaviour and protocol for all objects in the ROOT system. It provides protocol for object I/O, error handling, sorting, inspection, printing, drawing, etc. Every object which inherits from TObject can be stored in the ROOT collection classes. TObject's bits can be used as flags, bits 0 - 13 and 24-31 are reserved as global bits while bits 14 - 23 can be used in different class hierarchies (watch out for overlaps).
virtual | ~TObject() |
void | AbstractMethod(const char* method) const |
virtual void | AppendPad(Option_t* option = "") |
virtual void | Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | ClassName() const |
virtual void | Clear(Option_t* = "") |
virtual TObject* | Clone(const char* newname = "") const |
virtual Int_t | Compare(const TObject* obj) const |
virtual void | Copy(TObject& object) const |
virtual void | Delete(Option_t* option = "")MENU |
virtual Int_t | DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | Draw(Option_t* option = "") |
virtual void | DrawClass() constMENU |
virtual TObject* | DrawClone(Option_t* option = "") constMENU |
virtual void | Dump() constMENU |
virtual void | Error(const char* method, const char* msgfmt) const |
virtual void | Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | Fatal(const char* method, const char* msgfmt) const |
virtual TObject* | FindObject(const char* name) const |
virtual TObject* | FindObject(const TObject* obj) const |
virtual Option_t* | GetDrawOption() const |
static Long_t | GetDtorOnly() |
virtual const char* | GetIconName() const |
virtual const char* | GetName() const |
virtual char* | GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | GetObjectStat() |
virtual Option_t* | GetOption() const |
virtual const char* | GetTitle() const |
virtual UInt_t | GetUniqueID() const |
virtual Bool_t | HandleTimer(TTimer* timer) |
virtual ULong_t | Hash() const |
virtual void | Info(const char* method, const char* msgfmt) const |
virtual Bool_t | InheritsFrom(const char* classname) const |
virtual Bool_t | InheritsFrom(const TClass* cl) const |
virtual void | Inspect() constMENU |
void | InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | IsEqual(const TObject* obj) const |
virtual Bool_t | IsFolder() const |
Bool_t | IsOnHeap() const |
virtual Bool_t | IsSortable() const |
Bool_t | IsZombie() const |
virtual void | ls(Option_t* option = "") const |
void | MayNotUse(const char* method) const |
virtual Bool_t | Notify() |
void | Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | operator delete(void* ptr) |
void | operator delete(void* ptr, void* vp) |
void | operator delete[](void* ptr) |
void | operator delete[](void* ptr, void* vp) |
void* | operator new(size_t sz) |
void* | operator new(size_t sz, void* vp) |
void* | operator new[](size_t sz) |
void* | operator new[](size_t sz, void* vp) |
TObject& | operator=(const TObject& rhs) |
virtual void | Paint(Option_t* option = "") |
virtual void | Pop() |
virtual void | Print(Option_t* option = "") const |
virtual Int_t | Read(const char* name) |
virtual void | RecursiveRemove(TObject* obj) |
void | ResetBit(UInt_t f) |
virtual void | SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | SavePrimitive(ostream& out, Option_t* option = "") |
void | SetBit(UInt_t f) |
void | SetBit(UInt_t f, Bool_t set) |
virtual void | SetDrawOption(Option_t* option = "")MENU |
static void | SetDtorOnly(void* obj) |
static void | SetObjectStat(Bool_t stat) |
virtual void | SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | SysError(const char* method, const char* msgfmt) const |
Bool_t | TestBit(UInt_t f) const |
Int_t | TestBits(UInt_t f) const |
TObject() | |
TObject(const TObject& object) | |
virtual void | UseCurrentStyle() |
virtual void | Warning(const char* method, const char* msgfmt) const |
virtual Int_t | Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | DoError(int level, const char* location, const char* fmt, va_list va) const |
void | MakeZombie() |
static TObject::(anonymous) | kBitMask | |
static TObject::EStatusBits | kCanDelete | |
static TObject::EStatusBits | kCannotPick | |
static TObject::EStatusBits | kHasUUID | |
static TObject::EStatusBits | kInvalidObject | |
static TObject::(anonymous) | kIsOnHeap | |
static TObject::EStatusBits | kIsReferenced | |
static TObject::EStatusBits | kMustCleanup | |
static TObject::EStatusBits | kNoContextMenu | |
static TObject::(anonymous) | kNotDeleted | |
static TObject::EStatusBits | kObjInCanvas | |
static TObject::(anonymous) | kOverwrite | |
static TObject::(anonymous) | kSingleKey | |
static TObject::(anonymous) | kWriteDelete | |
static TObject::(anonymous) | kZombie |
TObject constructor. It sets the two data words of TObject to their initial values. The unique ID is set to 0 and the status word is set depending if the object is created on the stack or allocated on the heap. Depending on the ROOT environment variable "Root.MemStat" (see TEnv) the object is added to the global TObjectTable for bookkeeping.
TObject destructor. Removes object from all canvases and object browsers if observer bit is on and remove from the global object table.
Append graphics object to current pad. In case no current pad is set
yet, create a default canvas with the name "c1".
Make a clone of an object using the Streamer facility. If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object. If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.
Compare abstract method. Must be overridden if a class wants to be able to compare itself with other objects. Must return -1 if this is smaller than obj, 0 if objects are equal and 1 if this is larger than obj.
Delete this object. Typically called as a command via the interpreter. Normally use "delete" operator when object has been allocated on the heap.
Computes distance from point (px,py) to the object. This member function must be implemented for each graphics primitive. This default function returns a big number (999999).
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:/* */
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
Execute method on this object with the given parameter string, e.g. "3.14,1,\"text\"".
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
Execute action corresponding to an event at (px,py). This method must be overridden if an object can react to graphics events.
Must be redefined in derived classes. This function is typycally used with TCollections, but can also be used to find an object by name inside this object.
Must be redefined in derived classes. This function is typycally used with TCollections, but can also be used to find an object inside this object.
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.
Returns name of object. This default method returns the class name. Classes that give objects a name should override this method.
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.
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).
Returns title of object. This default method returns the class title (i.e. description). Classes that give objects a title should override this method.
Execute action in response of a timer timing out. This method must be overridden if an object has to react to timers.
Returns kTRUE if object inherits from class "classname".
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Default equal comparison (objects are equal if they have the same address in memory). More complicated classes might want to override this function.
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.
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.
This method must be overridden when a class wants to print itself.
Recursively remove this object from a list. Typically implemented by classes that can contain mulitple references to a same object.
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 independant 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.
Save a primitive as a C++ statement(s) on output stream "out".
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().
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
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. 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.
Write this object to the current directory. For more see the const version of this method.
Interface to ErrorHandler (protected).
Issue info message. Use "location" to specify the method where the
warning occured. Accepts standard printf formatting arguments.
Issue warning message. Use "location" to specify the method where the
warning occured. Accepts standard printf formatting arguments.
Issue error message. Use "location" to specify the method where the
error occured. Accepts standard printf formatting arguments.
Issue system error message. Use "location" to specify the method where
the system error occured. Accepts standard printf formatting arguments.
Issue fatal error message. Use "location" to specify the method where the
fatal error occured. Accepts standard printf formatting arguments.
Use this method to implement an "abstract" method that you don't
want to leave purely abstract.
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).
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.
Only called by placement new[] when throwing an exception.