00001 // $Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibROOTCnv/src/cnv/RootDedxCalibDataCnv.h,v 1.1.1.1 2006/04/03 03:03:27 maqm Exp $ 00002 #ifndef RootDedxCalibDataCnv_h 00003 #define RootDedxCalibDataCnv_h 00004 00015 #include "RootCalBaseCnv.h" 00016 namespace CalibData { 00017 class MdcCalConst; 00018 } 00019 template <class TYPE> class CnvFactory; 00020 class RootDedxCalibDataCnv : public RootCalBaseCnv { 00021 00022 friend class CnvFactory<RootDedxCalibDataCnv>; 00023 00024 public: 00025 const CLID& objType() const; 00026 static const CLID& classID(); 00027 RootDedxCalibDataCnv(ISvcLocator* svc); 00028 00029 virtual ~RootDedxCalibDataCnv() {}; 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 00044 // virtual StatusCode createObj(IOpaqueAddress* addr, 00045 // DataObject*& refpObject); 00046 00047 // virtual StatusCode i_createObj (const DOM_Element& element, 00048 // DataObject*& refpObject); 00049 00050 // virtual StatusCode i_processObj(DataObject* pObject, 00051 // 00052 00057 //StatusCode readDimension(CalibData::CalCalibBase* pCalBase); 00058 00059 // Might need another one reading from Root class into protected members 00060 /* 00061 Not sure yet what the analogous thing to findFirstRange, findNextRange 00062 ought to be..likely don't need it at all since ROOT persistent form 00063 comes fully labeled with CalXtalId 00064 */ 00065 00066 protected: 00075 // virtual StatusCode fillRoot(CalibData::Mdct0* pTDSObj, 00076 // TObject* pRootObj); 00077 00082 // virtual StatusCode readRootObj(const std::string& branch, TObject*& pCalib); 00083 00084 virtual StatusCode i_createObj (const std::string& fname, 00085 DataObject*& refpObject); 00086 }; 00087 00088 #endif