00001 #ifndef RAWDATA_LUMIDIGI_CNV_H 00002 #define RAWDATA_LUMIDIGI_CNV_H 00003 00004 // Include files. 00005 #include "GaudiKernel/Converter.h" 00006 #include "RawDataCnvBase/RawDataBaseCnv.h" 00007 #include "RawDataCnv/ClassID_temp.h" 00008 #include "RawDataCnv/PackedRawDataCnvSvc.h" 00009 00010 // Forward declarations. 00011 class IOpaqueAddress; 00012 class DataObject; 00013 class StatusCode; 00014 class IRawDataInputSvc; 00015 00016 // Converter Factory to create instances of this class. 00017 template <class TYPE> class CnvFactory; 00018 00019 class RawDataLumiDigiCnv : public RawDataBaseCnv 00020 { 00021 00022 // Declaration of a Converter Factory to create instances of this class. 00023 friend class CnvFactory<RawDataLumiDigiCnv>; 00024 protected: 00025 // Standard Constructor. 00026 RawDataLumiDigiCnv(ISvcLocator* svc); 00027 ~RawDataLumiDigiCnv(); 00028 00029 public: 00030 StatusCode initialize(); 00031 00032 // Return the class type of this converter. 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 // Create a converted object in the Transient Data Store. 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