00001 //==================================================================== 00002 // RawDataMucDigiCnv.h 00003 //==================================================================== 00004 // 00005 // Description: 00006 // RawDataMucDigiCnv is the concrete converter for 00007 // the event header on the TDS /Event 00008 // 00009 //-------------------------------------------------------------------- 00010 00011 #ifndef RAWDATA_MUCDIGI_CNV_H 00012 #define RAWDATA_MUCDIGI_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/MucConverter.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 RawDataMucDigiCnv : public RawDataBaseCnv 00031 { 00032 00033 // Declaration of a Converter Factory to create instances of this class. 00034 friend class CnvFactory<RawDataMucDigiCnv>; 00035 protected: 00036 // Standard Constructor. 00037 RawDataMucDigiCnv(ISvcLocator* svc); 00038 ~RawDataMucDigiCnv(); 00039 public: 00040 StatusCode initialize(); 00041 00042 // Return the class type of this converter. 00043 static const CLID& classID(); 00044 00045 virtual long repSvcType() const { 00046 return PACKEDRAWEVENT_StorageType; 00047 } 00048 00049 static const unsigned char storageType() { 00050 return PACKEDRAWEVENT_StorageType; 00051 } 00052 00053 // Create a converted object in the Transient Data Store. 00054 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 00055 00057 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00058 00059 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr); 00060 00061 private: 00062 IRawDataInputSvc* m_inputSvc; 00064 PackedRawDataCnvSvc* m_RawDataAccess; 00066 MucConverter* m_cnv; 00067 00068 }; 00069 00070 #endif // RAWDATA_MUCDIGI_CNV_H