/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 /* 00002 * IStatisticsSvc.h 00003 * 00004 * Provides 'Event Store' like access to ROOT objects (hist, graph, tree, etc.) 00005 * - Data can be shared between algorithms. 00006 * - Data is not cleared each event loop, so it can be used to collect 00007 * statistics, fill trees, etc. 00008 * - Some suggested types: 00009 * - Histograms: TH1F, TH2F, TH3F 00010 * - Single numbers: TParameter<int>, TParameter<double> 00011 * - Tables of data: TTree 00012 * - Graphs: TGraph, TGraphErrors 00013 * 00014 * Created by Dan Dwyer on 2009/01/21 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 // Declaration of the interface ID 00032 static const InterfaceID IID_IStatisticsSvc("IStatisticsSvc",1,0); 00033 00034 class IStatisticsSvc : virtual public IInterface 00035 { 00036 public: 00037 // Retrieve interface ID 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