00001 // $Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibROOTCnv/src/cnv/RootTofSimDataCnv.h,v 1.1 2010/01/14 02:54:26 huangb Exp $ 00002 #ifndef RootTofSimDataCnv_h 00003 #define RootTofSimDataCnv_h 00004 00015 #include "RootCalBaseCnv.h" 00016 template <class TYPE> class CnvFactory; 00017 class RootTofSimDataCnv : public RootCalBaseCnv { 00018 00019 friend class CnvFactory<RootTofSimDataCnv>; 00020 00021 public: 00022 const CLID& objType() const; 00023 static const CLID& classID(); 00024 RootTofSimDataCnv(ISvcLocator* svc); 00025 00026 virtual ~RootTofSimDataCnv() {}; 00027 00028 virtual StatusCode createRoot(const std::string& fname, 00029 CalibData::CalibBase1* pTDSObj); 00030 00031 virtual long repSvcType() const { 00032 return CALIBROOT_StorageType; 00033 } 00034 00035 // virtual StatusCode finalize(); 00036 00042 // virtual StatusCode createObj(IOpaqueAddress* addr, 00043 // DataObject*& refpObject); 00044 00045 // virtual StatusCode i_createObj (const DOM_Element& element, 00046 // DataObject*& refpObject); 00047 00048 // virtual StatusCode i_processObj(DataObject* pObject, 00049 // 00050 00055 //StatusCode readDimension(CalibData::CalCalibBase* pCalBase); 00056 00057 // Might need another one reading from Root class into protected members 00058 /* 00059 Not sure yet what the analogous thing to findFirstRange, findNextRange 00060 ought to be..likely don't need it at all since ROOT persistent form 00061 comes fully labeled with CalXtalId 00062 */ 00063 00064 protected: 00073 // virtual StatusCode fillRoot(CalibData::Mdct0* pTDSObj, 00074 // TObject* pRootObj); 00075 00080 // virtual StatusCode readRootObj(const std::string& branch, TObject*& pCalib); 00081 00082 virtual StatusCode i_createObj (const std::string& fname, 00083 DataObject*& refpObject); 00084 }; 00085 00086 #endif