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