00001 // $Header: /bes/bes/BossCvs/Calibration/CalibSvc/CalibDataSvc/CalibDataSvc/ICalibRootSvc.h,v 1.2 2006/04/13 02:29:24 huangb Exp $ 00002 00003 #ifndef ICalibRootSvc_h 00004 #define ICalibRootSvc_h 00005 00012 #include "GaudiKernel/IInterface.h" 00013 #include "GaudiKernel/ClassID.h" // for storage types 00014 #include <string> 00015 00016 // Can't use ROOT_StorageType as our storage type or the 00017 // Persistency service will get confused. Instead give an alias 00018 // to one we can be pretty sure is unused for GLAST 00019 00020 unsigned const char CALIBROOT_StorageType = CDF_StorageType; 00021 00022 00023 static const InterfaceID IID_ICalibRootSvc("ICalibRootSvc", 1, 0); 00024 00025 class DataObject; 00026 00027 namespace CalibData { 00028 class CalibBase; 00029 class CalibBase1; 00030 } 00031 00032 class ICalibRootSvc : virtual public IInterface 00033 { 00034 public: 00035 // Re-implemented from IInterface 00036 static const InterfaceID& interfaceID() { return IID_ICalibRootSvc; } 00037 00044 virtual StatusCode writeToRoot(const std::string& outputFile, 00045 const std::string& tdsPath) = 0; 00046 virtual StatusCode writeToRoot(const std::string& outputFile, 00047 CalibData::CalibBase1 *calib) = 0; 00048 virtual std::string getrootfile() = 0; 00049 // Do we also want a "reset" or "clearDocument" ? Can in any case 00050 // do this internally when a new document is to be parsed so might not 00051 // be necessary to have explicit public method. 00052 }; 00053 00054 00055 #endif