00001 //==================================================================== 00002 // RawDataMdcDigiCnv.h 00003 //==================================================================== 00004 // 00005 // Description: 00006 // RawDataMdcDigiCnv is the concrete converter for 00007 // the event header on the TDS /Event 00008 // 00009 //-------------------------------------------------------------------- 00010 00011 #ifndef RAWDATA_MDCDIGI_CNV_H 00012 #define RAWDATA_MDCDIGI_CNV_H 00013 00014 // Include files. 00015 #include "GaudiKernel/Converter.h" 00016 #include "RawDataCnvBase/RawDataBaseCnv.h" 00017 #include "RawDataCnv/ClassID_temp.h" 00018 #include "RawDataCnv/PackedRawDataCnvSvc.h" 00019 #include "RawDataCnv/Util/MdcConverter.h" 00020 00021 // Forward declarations. 00022 class IOpaqueAddress; 00023 class DataObject; 00024 class StatusCode; 00025 class IRawDataInputSvc; 00026 00027 // Converter Factory to create instances of this class. 00028 template <class TYPE> class CnvFactory; 00029 00030 class RawDataMdcDigiCnv : public RawDataBaseCnv 00031 { 00032 00033 // Declaration of a Converter Factory to create instances of this class. 00034 friend class CnvFactory<RawDataMdcDigiCnv>; 00035 protected: 00036 // Standard Constructor. 00037 RawDataMdcDigiCnv(ISvcLocator* svc); 00038 ~RawDataMdcDigiCnv(); 00039 00040 public: 00041 StatusCode initialize(); 00042 00043 // Return the class type of this converter. 00044 static const CLID& classID(); 00045 00046 virtual long repSvcType() const { 00047 return PACKEDRAWEVENT_StorageType; 00048 } 00049 00050 static const unsigned char storageType() { 00051 return PACKEDRAWEVENT_StorageType; 00052 } 00053 00054 // Create a converted object in the Transient Data Store. 00055 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 00056 00058 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00059 00060 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr); 00061 00062 private: 00063 IRawDataInputSvc* m_inputSvc; 00065 PackedRawDataCnvSvc* m_RawDataAccess; 00067 MdcConverter* m_cnv; 00068 00069 int m_runFrom; 00070 int m_runTo; 00071 }; 00072 00073 #endif // RAWDATA_MDCDIGI_CNV_H