#ifndef _rooClassObject_h #define _rooClassObject_h #ifndef _rooPersistentDataObject_h #include "rooPersistentDataObject.h" #endif // // ROOT wrappers around ActiveSchema classes ( see ooas.h ) // //////////////////////////////////////////////////////////////////////////////// class rooClassObject : public rooPersistentDataObject { private: rooNumericValue* fNumericValue; // get() rooClassObject* fClassObject; // get_class_obj() rooVArrayObject* fVArrayObject; // get_varray() rooRelationshipObject* fRelationshipObject; // get_relationship() rooObj* fOoref; // get_ooref() rooStringValue* fStringValue; // get_string() rooClassPosition* fClassPosition; // position_in_class() rooAttribute* fAttribute; // resolve_attribute() rooClassObject* fContainedIn; // contained_in() protected: rooClass* fClass; // described class. rooObj* fObject; // associated persistent object public: rooClassObject(); rooClassObject(const rooClassObject &); rooClassObject(const rooObj &, const rooClass &); rooClassObject(const rooObj &, Int_t, const rooModule &); rooClassObject(const rooObj &); virtual ~rooClassObject(); rooClassObject(void* imp) { setImp(imp); } rooNumericValue get(Int_t); rooClassObject get_class_obj(Int_t); rooVArrayObject get_varray(Int_t); rooRelationshipObject get_relationship(Int_t); rooObj get_ooref(Int_t); rooStringValue get_string(Int_t); Bool_t set(Int_t, const rooNumericValue&); Bool_t set_ooref(Int_t, const rooObj&); rooNumericValue get(Int_t, Int_t); rooClassObject get_class_obj(Int_t, Int_t); rooVArrayObject get_varray(Int_t, Int_t); rooObj get_ooref(Int_t, Int_t); rooStringValue get_string(Int_t, Int_t); Bool_t set(Int_t, Int_t, const rooNumericValue&); Bool_t set_ooref(Int_t, Int_t, const rooObj&); rooNumericValue get(const rooClassPosition &, Int_t = 0); rooClassObject get_class_obj(const rooClassPosition &, Int_t = 0); rooVArrayObject get_varray(const rooClassPosition &,Int_t = 0); rooRelationshipObject get_relationship(const rooClassPosition &); rooObj get_ooref(const rooClassPosition &, Int_t = 0); rooStringValue get_string(const rooClassPosition &, Int_t = 0); Bool_t set(const rooClassPosition &, const rooNumericValue&); Bool_t set(const rooClassPosition &, Int_t, const rooNumericValue&); Bool_t set_ooref(const rooClassPosition &, const rooObj&); Bool_t set_ooref(const rooClassPosition &, Int_t, const rooObj&); // operator rooObj(); // operator const rooObj(); rooClassObject & operator=(const rooClassObject &); rooClassObject & operator=(const rooObj &); rooClassObject & contained_in(); rooObj & object_handle(); const rooClass & type_of(); const rooClassPosition& position_in_class(const TString&); const rooAttribute& resolve_attribute(const TString&); // static rooClassObject new_persistent_object(const rooClass &, // const rooObj &); // static rooClassObject new_persistent_container_object( // const rooClass &, // const rooObj &, // UInt_t, // UInt_t, // UInt_t); virtual Bool_t is_class_object() const { return kTRUE; } const rooAttribute & attribute_at_position(Int_t pos); ClassDef(rooClassObject,0) // corresponds to Class_Object }; #endif // _rooClassObject_h