00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _CObject_H_
00018 #define _CObject_H_
00019
00020 #include "TObject.h"
00021 #include "TString.h"
00022 #include "TVirtualPad.h"
00023
00024 class CObject: public TObject {
00025
00026 private:
00027 TObject *GetNewObj( const char* , const TObject *);
00028 void free();
00029 void ResetAllkCanDelete( TVirtualPad *pad );
00030
00031 protected:
00032 TObject *fTObject;
00033 const TObject *fInputSource;
00034 TString fName;
00035
00036 public:
00037
00038 CObject();
00039 CObject( TObject *obj, const TObject *inputsource );
00040 CObject( const CObject &cobj );
00041
00042 virtual ~CObject();
00043
00044 CObject & operator=(const CObject &obj);
00045
00046
00047 const char* GetName() const;
00048 const char* GetTitle() const { return fTObject->GetTitle(); };
00049
00050 Bool_t IsSortable() const {return kTRUE; }
00051
00052
00053 ULong_t Hash() const;
00054
00055 Bool_t IsEqual(const TObject* obj2) const;
00056 Int_t Compare(const TObject *obj) const;
00057
00058 TObject* GetTObject() const { return fTObject; }
00059 const TObject* GetInputSource() const { return fInputSource; }
00060
00061 void SetTObject( TObject *obj );
00062 void SetInputSource( const TObject *obj ) { fInputSource = obj; }
00063
00064 virtual void Draw( Option_t *option = "" );
00065 virtual void Paint( Option_t *option = "" );
00066
00067 virtual void ReadObject();
00068
00069 ClassDef(CObject,0)
00070 };
00071
00072
00073 #endif
00074
00075
00076