00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef DATASVC_ISTATISTICSSVC_H
00018 #define DATASVC_ISTATISTICSSVC_H
00019
00020 #include "GaudiKernel/IInterface.h"
00021 #include <string>
00022 #include <vector>
00023
00024 class TObject;
00025 class TH1F;
00026 class TH2F;
00027 class TH3F;
00028 class TTree;
00029 class TGraph;
00030
00031
00032 static const InterfaceID IID_IStatisticsSvc("IStatisticsSvc",1,0);
00033
00034 class IStatisticsSvc : virtual public IInterface
00035 {
00036 public:
00037
00038 static const InterfaceID& interfaceID(){
00039 return IID_IStatisticsSvc;
00040 }
00041
00047 virtual StatusCode put(const std::string& path, TObject* object) = 0;
00050 virtual TObject* get(const std::string& path) = 0;
00052 virtual bool exists(const std::string& path) = 0;
00056 virtual std::vector<std::string> getContents(const std::string& path) = 0;
00060 virtual std::vector<std::string> getSubFolders(const std::string& path) = 0;
00061
00063
00066 virtual TH1F* getTH1F(const std::string& path) = 0;
00069 virtual TH2F* getTH2F(const std::string& path) = 0;
00072 virtual TH3F* getTH3F(const std::string& path) = 0;
00075 virtual TTree* getTree(const std::string& path) = 0;
00078 virtual TGraph* getGraph(const std::string& path) = 0;
00079 };
00080
00081 #endif // DATASVC_ISTATISTICSSVC_H