00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef RAWDATA_MUCDIGI_CNV_H
00012 #define RAWDATA_MUCDIGI_CNV_H
00013
00014
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
00022 class IOpaqueAddress;
00023 class DataObject;
00024 class StatusCode;
00025 class IRawDataInputSvc;
00026
00027
00028 template <class TYPE> class CnvFactory;
00029
00030 class RawDataMucDigiCnv : public RawDataBaseCnv
00031 {
00032
00033
00034 friend class CnvFactory<RawDataMucDigiCnv>;
00035 protected:
00036
00037 RawDataMucDigiCnv(ISvcLocator* svc);
00038 ~RawDataMucDigiCnv();
00039 public:
00040 StatusCode initialize();
00041
00042
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
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