![]() |
|
|
Generated: 18 Jul 2008 |
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 ITHistSvc: virtual public IService { 00020 00021 public: 00022 00023 static const InterfaceID& interfaceID(); 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 00044 // virtual StatusCode getTHists(TList&) const = 0; 00045 virtual StatusCode getTHists(TDirectory *td, TList &) const = 0; 00046 virtual StatusCode getTHists(const std::string& name, TList &) const = 0; 00047 00048 // virtual StatusCode getTTrees(TList&) const = 0; 00049 virtual StatusCode getTTrees(TDirectory *td, TList &) const = 0; 00050 virtual StatusCode getTTrees(const std::string& name, TList &) const = 0; 00051 00052 virtual StatusCode regGraph(const std::string& name) = 0; 00053 virtual StatusCode regGraph(const std::string& name, TGraph*) = 0; 00054 virtual StatusCode getGraph(const std::string& name, TGraph*&) const = 0; 00055 00056 }; 00057 00058 inline 00059 const InterfaceID& 00060 ITHistSvc::interfaceID() { 00061 00062 static const InterfaceID m_IID("THistSvc", 1, 0); 00063 00064 return m_IID; 00065 } 00066 00067 #endif