00001 //==================================================================== 00002 // RawDataHltRawCnv.h 00003 //==================================================================== 00004 // 00005 // Description: 00006 // RawDataHltRawCnv is the concrete converter for 00007 // the event header on the TDS /Event 00008 // 00009 //-------------------------------------------------------------------- 00010 00011 #ifndef RAWDATA_HLTRAW_CNV_H 00012 #define RAWDATA_HLTRAW_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 00020 //#include "EventModel/EventHeader.h" 00021 #include "RawDataCnv/EventManagement/HltBuilder.h" 00022 00023 // Forward declarations. 00024 class IOpaqueAddress; 00025 class DataObject; 00026 class StatusCode; 00027 class IRawDataInputSvc; 00028 00029 // Converter Factory to create instances of this class. 00030 template <class TYPE> class CnvFactory; 00031 00032 class RawDataHltRawCnv : public RawDataBaseCnv 00033 { 00034 00035 // Declaration of a Converter Factory to create instances of this class. 00036 friend class CnvFactory<RawDataHltRawCnv>; 00037 protected: 00038 // Standard Constructor. 00039 RawDataHltRawCnv(ISvcLocator* svc); 00040 ~RawDataHltRawCnv(); 00041 public: 00042 StatusCode initialize(); 00043 00044 // Return the class type of this converter. 00045 static const CLID& classID(); 00046 00047 virtual long repSvcType() const { 00048 return PACKEDRAWEVENT_StorageType; 00049 } 00050 00051 static const unsigned char storageType() { 00052 return PACKEDRAWEVENT_StorageType; 00053 } 00054 00055 // Create a converted object in the Transient Data Store. 00056 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 00057 00059 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00060 00061 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr); 00062 00063 private: 00064 IRawDataInputSvc* m_inputSvc; 00066 PackedRawDataCnvSvc* m_RawDataAccess; 00068 HltBuilder m_hltBuilder; 00069 00070 }; 00071 00072 #endif // RAWDATA_HLTRAW_CNV_H