00001 // RawDataTrigGTDCnv is the concrete converter for the TrigGTD 00002 // @ the TDS /Event/Trig/TrigGTD 00003 00004 #ifndef RAWDATA_TRIG_GTD_CNV_H 00005 #define RAWDATA_TRIG_GTD_CNV_H 00006 00007 #include "GaudiKernel/Converter.h" 00008 #include "RawDataCnvBase/RawDataBaseCnv.h" 00009 #include "RawDataCnv/ClassID_temp.h" //PACKEDRAWEVENT_StorageType 00010 #include "RawDataCnv/PackedRawDataCnvSvc.h" 00011 00012 // Forward declarations 00013 class IOpaqueAddress; 00014 class DataObject; 00015 class StatusCode; 00016 class IRawDataInputSvc; 00017 00018 // Converter Factory to create instances of this class. 00019 template<class TYPE> class CnvFactory; 00020 00021 class RawDataTrigGTDCnv : public RawDataBaseCnv 00022 { 00023 // Declaration of a Converter Factory to create instances of this class. 00024 friend class CnvFactory<RawDataTrigGTDCnv>; 00025 00026 protected: 00027 // Standard constructor 00028 RawDataTrigGTDCnv(ISvcLocator* svc); 00029 public: 00030 StatusCode init(); 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 00046 // override the RawDataBaseCnv version 00047 virtual StatusCode updateObj(IOpaqueAddress*, DataObject*); 00048 00049 virtual StatusCode createRep(DataObject* pObj, IOpaqueAddress*& pAddr); 00050 00051 private: 00052 IRawDataInputSvc* m_inputSvc; 00053 // Define the interface to raw data cnv 00054 PackedRawDataCnvSvc* m_RawDataAccess; 00055 }; 00056 00057 #endif // RAWDATA_TRIG_GTD_CNV_H