00001 #ifndef DigiCnv_H 00002 #define DigiCnv_H 1 00003 00004 #include "RootCnvSvc/RootEventBaseCnv.h" 00005 00006 #include "RootEventData/TDigiEvent.h" 00007 #include "RootCnvSvc/commonData.h" //zoujh 00008 00009 extern const CLID& CLID_DigiEvent; 00010 00011 // Abstract factory to create the converter 00012 template <class TYPE> class CnvFactory; 00013 00020 class DigiCnv : public RootEventBaseCnv { 00021 00022 friend class CnvFactory<DigiCnv>; 00023 00024 public: 00025 static const CLID& classID() 00026 { 00027 return CLID_DigiEvent; 00028 } 00029 00030 virtual ~DigiCnv() { }; 00031 00032 virtual StatusCode initialize(); 00033 00035 static TDigiEvent* getWriteObject() { return m_objWrite;} 00036 00037 protected: 00038 DigiCnv(ISvcLocator* svc); 00039 00041 virtual StatusCode DataObjectToTObject(DataObject* obj, RootAddress* addr); 00042 00044 virtual StatusCode TObjectToDataObject(DataObject*& refpObject); 00045 00046 private: 00048 static TDigiEvent* m_objWrite; 00049 00051 Int_t m_runId; 00053 Int_t m_eventId; 00054 00056 Bool_t m_fromMc; 00057 00058 commonData m_common; //zoujh 00059 00060 }; 00061 00062 #endif // DigiCnv_H