Go to the documentation of this file.00001 #ifndef GAUDIKERNEL_ITHISTSVC_H
00002 #define GAUDIKERNEL_ITHISTSVC_H
00003
00004 #ifndef GAUDIKERNEL_ISERVICE_H
00005 #include "GaudiKernel/IService.h"
00006 #endif
00007 #include <string>
00008 #include <vector>
00009
00010 class TObject;
00011 class TH1;
00012 class TH2;
00013 class TH3;
00014 class TTree;
00015 class TList;
00016 class TDirectory;
00017 class TGraph;
00018
00019 class GAUDI_API ITHistSvc: virtual public IService {
00020
00021 public:
00023 DeclareInterfaceID(ITHistSvc,2,0);
00024
00025 virtual StatusCode regHist(const std::string& name) = 0;
00026 virtual StatusCode regHist(const std::string& name, TH1*) = 0;
00027 virtual StatusCode regHist(const std::string& name, TH2*) = 0;
00028 virtual StatusCode regHist(const std::string& name, TH3*) = 0;
00029
00030 virtual StatusCode getHist(const std::string& name, TH1*&) const = 0;
00031 virtual StatusCode getHist(const std::string& name, TH2*&) const = 0;
00032 virtual StatusCode getHist(const std::string& name, TH3*&) const = 0;
00033
00034 virtual StatusCode regTree(const std::string& name) = 0;
00035 virtual StatusCode regTree(const std::string& name, TTree*) = 0;
00036 virtual StatusCode getTree(const std::string& name, TTree*&) const = 0;
00037
00038 virtual StatusCode deReg(const std::string& name) = 0;
00039 virtual StatusCode deReg(TObject* obj) = 0;
00040
00041 virtual std::vector<std::string> getHists() const = 0;
00042 virtual std::vector<std::string> getTrees() const = 0;
00043 virtual std::vector<std::string> getGraphs() const = 0;
00044
00045
00046 virtual StatusCode getTHists(TDirectory *td, TList &,
00047 bool recurse=false) const = 0;
00048 virtual StatusCode getTHists(const std::string& name, TList &,
00049 bool recurse=false) const = 0;
00050
00051 virtual StatusCode getTHists(TDirectory *td, TList &,
00052 bool recurse=false, bool reg=false) = 0;
00053 virtual StatusCode getTHists(const std::string& name, TList &,
00054 bool recurse=false, bool reg=false) = 0;
00055
00056
00057 virtual StatusCode getTTrees(TDirectory *td, TList &,
00058 bool recurse=false) const = 0;
00059 virtual StatusCode getTTrees(const std::string& name, TList &,
00060 bool recurse=false) const = 0;
00061 virtual StatusCode getTTrees(TDirectory *td, TList &,
00062 bool recurse=false, bool reg=false) = 0;
00063 virtual StatusCode getTTrees(const std::string& name, TList &,
00064 bool recurse=false, bool reg=false) = 0;
00065
00066 virtual StatusCode regGraph(const std::string& name) = 0;
00067 virtual StatusCode regGraph(const std::string& name, TGraph*) = 0;
00068 virtual StatusCode getGraph(const std::string& name, TGraph*&) const = 0;
00069
00070 virtual bool exists(const std::string& name) const = 0;
00071
00072 };
00073
00074 #endif