00001 // $Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibROOTCnv/src/cnv/RootEstTofCalibDataCnv.h,v 1.1 2009/01/16 07:39:17 maqm Exp $ 00002 #ifndef RootEstTofCalibDataCnv_h 00003 #define RootEstTofCalibDataCnv_h 00004 00015 #include "RootCalBaseCnv.h" 00016 namespace CalibData { 00017 class EstTofCalibData; 00018 } 00019 template <class TYPE> class CnvFactory; 00020 class RootEstTofCalibDataCnv : public RootCalBaseCnv { 00021 00022 friend class CnvFactory<RootEstTofCalibDataCnv>; 00023 00024 public: 00025 const CLID& objType() const; 00026 static const CLID& classID(); 00027 RootEstTofCalibDataCnv(ISvcLocator* svc); 00028 00029 virtual ~RootEstTofCalibDataCnv() {}; 00030 00031 virtual StatusCode createRoot(const std::string& fname, 00032 CalibData::CalibBase1* pTDSObj); 00033 00034 virtual long repSvcType() const { 00035 return CALIBROOT_StorageType; 00036 } 00037 00038 // virtual StatusCode finalize(); 00039 00045 // virtual StatusCode createObj(IOpaqueAddress* addr, 00046 // DataObject*& refpObject); 00047 00048 // virtual StatusCode i_createObj (const DOM_Element& element, 00049 // DataObject*& refpObject); 00050 00051 // virtual StatusCode i_processObj(DataObject* pObject, 00052 // 00053 00058 //StatusCode readDimension(CalibData::CalCalibBase* pCalBase); 00059 00060 // Might need another one reading from Root class into protected members 00061 /* 00062 Not sure yet what the analogous thing to findFirstRange, findNextRange 00063 ought to be..likely don't need it at all since ROOT persistent form 00064 comes fully labeled with CalXtalId 00065 */ 00066 00067 protected: 00076 // virtual StatusCode fillRoot(CalibData::Mdct0* pTDSObj, 00077 // TObject* pRootObj); 00078 00083 // virtual StatusCode readRootObj(const std::string& branch, TObject*& pCalib); 00084 00085 virtual StatusCode i_createObj (const std::string& fname, 00086 DataObject*& refpObject); 00087 }; 00088 00089 #endif