00001 #ifndef DstCnv_H 00002 #define DstCnv_H 1 00003 00004 #include "RootCnvSvc/RootEventBaseCnv.h" 00005 00006 #include "RootEventData/TDstEvent.h" 00007 #include "RootCnvSvc/commonData.h" 00008 00009 extern const CLID& CLID_DstEvent; 00010 00011 // Abstract factory to create the converter 00012 template <class TYPE> class CnvFactory; 00013 00020 class DstCnv : public RootEventBaseCnv { 00021 00022 friend class CnvFactory<DstCnv>; 00023 00024 public: 00025 static const CLID& classID() 00026 { 00027 return CLID_DstEvent; 00028 } 00029 00030 virtual ~DstCnv() { }; 00031 00032 00033 virtual StatusCode initialize(); 00034 00036 static TDstEvent* getWriteObject() { return m_objWrite;} 00037 00038 protected: 00039 DstCnv(ISvcLocator* svc); 00040 00042 virtual StatusCode DataObjectToTObject(DataObject* obj, RootAddress* addr); 00043 00045 virtual StatusCode TObjectToDataObject(DataObject*& refpObject); 00046 00047 private: 00049 static TDstEvent* m_objWrite; 00050 00052 Int_t m_runId; 00054 Int_t m_eventId; 00055 00056 commonData m_common; 00057 }; 00058 00059 #endif // DstCnv_H