00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef RAWDATA_TOFDIGI_CNV_H
00012 #define RAWDATA_TOFDIGI_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/TofConverter.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 RawDataTofDigiCnv : public RawDataBaseCnv
00031 {
00032
00033
00034 friend class CnvFactory<RawDataTofDigiCnv>;
00035 protected:
00036
00037 RawDataTofDigiCnv(ISvcLocator* svc);
00038 ~RawDataTofDigiCnv();
00039
00040 public:
00041 StatusCode initialize();
00042
00043
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
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 TofConverter* m_cnv;
00068
00069 };
00070
00071 #endif // RAWDATA_TOFDIGI_CNV_H