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