00001 #ifndef EventCnv_H 00002 #define EventCnv_H 1 00003 00004 #include "RootCnvSvc/RootEventBaseCnv.h" 00005 #include "EventModel/EventModel.h" 00006 #include "TObject.h" 00007 #include "RootCnvSvc/commonData.h" 00008 00009 namespace Event{ class EventHeader; } 00010 extern const CLID& CLID_Event; 00011 00012 // Abstract factory to create the converter 00013 template <class TYPE> class CnvFactory; 00014 00015 00021 class EventCnv : public RootEventBaseCnv { 00022 00023 friend class CnvFactory<EventCnv>; 00024 00025 public: 00026 static const CLID& classID() 00027 { 00028 return CLID_Event; 00029 } 00030 00031 virtual ~EventCnv() { }; 00032 00033 protected: 00034 00035 EventCnv(ISvcLocator* svc); 00036 00037 00039 StatusCode DataObjectToTObject(DataObject* obj, RootAddress* addr) {return StatusCode::SUCCESS;} 00041 StatusCode createRep(DataObject* obj, RootAddress* addr); 00042 00044 StatusCode createObj(IOpaqueAddress *addr,DataObject*& refpObject); 00045 00047 virtual StatusCode TObjectToDataObject(DataObject*& dat) {return StatusCode::SUCCESS;} 00048 00049 commonData m_common; 00050 }; 00051 00052 00053 00054 #endif // EventCnv_H 00055