#ifndef ROOT_TObject
#define ROOT_TObject
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
#ifndef ROOT_TStorage
#include "TStorage.h"
#endif
#ifndef ROOT_TVersionCheck
#include "TVersionCheck.h"
#endif
#ifndef ROOT_Riosfwd
#include "Riosfwd.h"
#endif
#include <stdarg.h>
#ifdef WIN32
#undef RemoveDirectory
#endif
class TList;
class TBrowser;
class TBuffer;
class TObjArray;
class TMethod;
class TTimer;
class TObject {
private:
   UInt_t         fUniqueID;   
   UInt_t         fBits;       
   static Long_t  fgDtorOnly;    
   static Bool_t  fgObjectStat;  
protected:
   void MakeZombie() { fBits |= kZombie; }
   virtual void DoError(int level, const char *location, const char *fmt, va_list va) const;
public:
   
   
   
   
   enum EStatusBits {
      kCanDelete        = BIT(0),   
      kMustCleanup      = BIT(3),   
      kObjInCanvas      = BIT(3),   
      kIsReferenced     = BIT(4),   
      kHasUUID          = BIT(5),   
      kCannotPick       = BIT(6),   
      kNoContextMenu    = BIT(8),   
      kInvalidObject    = BIT(13)   
   };
   
   enum {
      kIsOnHeap      = 0x01000000,    
      kNotDeleted    = 0x02000000,    
      kZombie        = 0x04000000,    
      kBitMask       = 0x00ffffff
   };
   
   enum {
      kSingleKey     = BIT(0),        
      kOverwrite     = BIT(1),        
      kWriteDelete   = BIT(2)         
   };
   TObject();
   TObject(const TObject &object);
   TObject &operator=(const TObject &rhs);
   virtual ~TObject();
   virtual void        AppendPad(Option_t *option="");
   virtual void        Browse(TBrowser *b);
   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=""); 
   virtual Int_t       DistancetoPrimitive(Int_t px, Int_t py);
   virtual void        Draw(Option_t *option="");
   virtual void        DrawClass() const; 
   virtual TObject    *DrawClone(Option_t *option="") const; 
   virtual void        Dump() 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 TObject    *FindObject(const char *name) const;
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual Option_t   *GetDrawOption() const;
   virtual UInt_t      GetUniqueID() const;
   virtual const char *GetName() const;
   virtual const char *GetIconName() const;
   virtual Option_t   *GetOption() const { return ""; }
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual const char *GetTitle() const;
   virtual Bool_t      HandleTimer(TTimer *timer);
   virtual ULong_t     Hash() const;
   virtual Bool_t      InheritsFrom(const char *classname) const;
   virtual Bool_t      InheritsFrom(const TClass *cl) const;
   virtual void        Inspect() const; 
   virtual Bool_t      IsFolder() const;
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual Bool_t      IsSortable() const { return kFALSE; }
           Bool_t      IsOnHeap() const { return TestBit(kIsOnHeap); }
           Bool_t      IsZombie() const { return TestBit(kZombie); }
   virtual Bool_t      Notify();
   virtual void        ls(Option_t *option="") const;
   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);
   virtual void        SaveAs(const char *filename="",Option_t *option="") const; 
   virtual void        SavePrimitive(ostream &out, Option_t *option = "");
   virtual void        SetDrawOption(Option_t *option="");  
   virtual void        SetUniqueID(UInt_t uid);
   virtual void        UseCurrentStyle();
   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;
   
   void    *operator new(size_t sz) { return TStorage::ObjectAlloc(sz); }
   void    *operator new[](size_t sz) { return TStorage::ObjectAlloc(sz); }
   void    *operator new(size_t sz, void *vp) { return TStorage::ObjectAlloc(sz, vp); }
   void    *operator new[](size_t sz, void *vp) { return TStorage::ObjectAlloc(sz, vp); }
   void     operator delete(void *ptr);
   void     operator delete[](void *ptr);
#ifdef R__PLACEMENTDELETE
   void     operator delete(void *ptr, void *vp);
   void     operator delete[](void *ptr, void *vp);
#endif
   
   void     SetBit(UInt_t f, Bool_t set);
   void     SetBit(UInt_t f) { fBits |= f & kBitMask; }
   void     ResetBit(UInt_t f) { fBits &= ~(f & kBitMask); }
   Bool_t   TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); }
   Int_t    TestBits(UInt_t f) const { return (Int_t) (fBits & f); }
   void     InvertBit(UInt_t f) { fBits ^= f & kBitMask; }
   
   virtual void     Info(const char *method, const char *msgfmt, ...) const;
   virtual void     Warning(const char *method, const char *msgfmt, ...) const;
   virtual void     Error(const char *method, const char *msgfmt, ...) const;
   virtual void     SysError(const char *method, const char *msgfmt, ...) const;
   virtual void     Fatal(const char *method, const char *msgfmt, ...) const;
   void     AbstractMethod(const char *method) const;
   void     MayNotUse(const char *method) const;
   
   static Long_t    GetDtorOnly();
   static void      SetDtorOnly(void *obj);
   static Bool_t    GetObjectStat();
   static void      SetObjectStat(Bool_t stat);
   ClassDef(TObject,1)  
};
enum EObjBits {
   kCanDelete        = TObject::kCanDelete,
   kMustCleanup      = TObject::kMustCleanup,
   kObjInCanvas      = TObject::kObjInCanvas,
   kIsReferenced     = TObject::kIsReferenced,
   kHasUUID          = TObject::kHasUUID,
   kCannotPick       = TObject::kCannotPick,
   kNoContextMenu    = TObject::kNoContextMenu,
   kInvalidObject    = TObject::kInvalidObject
};
#ifndef ROOT_TBuffer
#include "TBuffer.h"
#endif
#endif
Last change: Mon Dec  8 10:00:43 2008
Last generated: 2008-12-08 10:00
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.