00001 #ifndef RAWDATA_LUMIDIGI_CNV_H
00002 #define RAWDATA_LUMIDIGI_CNV_H
00003
00004
00005 #include "GaudiKernel/Converter.h"
00006 #include "RawDataCnvBase/RawDataBaseCnv.h"
00007 #include "RawDataCnv/ClassID_temp.h"
00008 #include "RawDataCnv/PackedRawDataCnvSvc.h"
00009
00010
00011 class IOpaqueAddress;
00012 class DataObject;
00013 class StatusCode;
00014 class IRawDataInputSvc;
00015
00016
00017 template <class TYPE> class CnvFactory;
00018
00019 class RawDataLumiDigiCnv : public RawDataBaseCnv
00020 {
00021
00022
00023 friend class CnvFactory<RawDataLumiDigiCnv>;
00024 protected:
00025
00026 RawDataLumiDigiCnv(ISvcLocator* svc);
00027 ~RawDataLumiDigiCnv();
00028
00029 public:
00030 StatusCode initialize();
00031
00032
00033 static const CLID& classID();
00034
00035 virtual long repSvcType() const {
00036 return PACKEDRAWEVENT_StorageType;
00037 }
00038
00039 static const unsigned char storageType() {
00040 return PACKEDRAWEVENT_StorageType;
00041 }
00042
00043
00044 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj);
00045
00047 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*);
00048
00049 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr);
00050
00051 private:
00052 IRawDataInputSvc* m_inputSvc;
00054 PackedRawDataCnvSvc* m_RawDataAccess;
00055
00056 };
00057
00058 #endif // RAWDATA_TOFDIGI_CNV_H