00001 #ifndef RAWDATA_EVENTHEADER_CNV_H 00002 #define RAWDATA_EVENTHEADER_CNV_H 00003 00004 #include "GaudiKernel/Converter.h" 00005 #include "RawDataCnvBase/RawDataBaseCnv.h" 00006 #include "RawDataCnv/ClassID_temp.h" 00007 00008 // Forward declarations. 00009 class IOpaqueAddress; 00010 class DataObject; 00011 class StatusCode; 00012 class IRawDataInputSvc; 00013 00014 // Converter Factory to create instances of this class. 00015 template <class TYPE> class CnvFactory; 00016 00017 class RawDataEvtHeaderCnv : public RawDataBaseCnv 00018 { 00019 // Declaration of a Converter Factory to create instances of this class. 00020 friend class CnvFactory<RawDataEvtHeaderCnv>; 00021 00022 protected: 00023 // Standard Constructor. 00024 RawDataEvtHeaderCnv(ISvcLocator* svc); 00025 00026 public: 00027 StatusCode initialize(); 00028 00029 // Return the class type of this converter. 00030 static const CLID& classID(); 00031 00032 virtual long repSvcType() const { 00033 return PACKEDRAWEVENT_StorageType; 00034 } 00035 00036 static const unsigned char storageType() { 00037 return PACKEDRAWEVENT_StorageType; 00038 } 00039 00040 // Create a converted object in the Transient Data Store. 00041 StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& pObj); 00042 00044 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00045 00046 private: 00047 IRawDataInputSvc* m_inputSvc; 00049 IRawDataCnvSvc* m_RawDataAccess; 00050 }; 00051 00052 #endif