ITHistSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ITHISTSVC_H
2 #define GAUDIKERNEL_ITHISTSVC_H
3 
4 #ifndef GAUDIKERNEL_ISERVICE_H
5  #include "GaudiKernel/IService.h"
6 #endif
7 #include <string>
8 #include <vector>
9 
10 class TObject;
11 class TH1;
12 class TH2;
13 class TH3;
14 class TTree;
15 class TList;
16 class TDirectory;
17 class TGraph;
18 
19 class GAUDI_API ITHistSvc: virtual public IService {
20 
21 public:
24 
25  virtual StatusCode regHist(const std::string& name) = 0;
26  virtual StatusCode regHist(const std::string& name, TH1*) = 0;
27  virtual StatusCode regHist(const std::string& name, TH2*) = 0;
28  virtual StatusCode regHist(const std::string& name, TH3*) = 0;
29 
30  virtual StatusCode getHist(const std::string& name, TH1*&) const = 0;
31  virtual StatusCode getHist(const std::string& name, TH2*&) const = 0;
32  virtual StatusCode getHist(const std::string& name, TH3*&) const = 0;
33 
34  virtual StatusCode regTree(const std::string& name) = 0;
35  virtual StatusCode regTree(const std::string& name, TTree*) = 0;
36  virtual StatusCode getTree(const std::string& name, TTree*&) const = 0;
37 
38  virtual StatusCode deReg(const std::string& name) = 0;
39  virtual StatusCode deReg(TObject* obj) = 0;
40 
41  virtual std::vector<std::string> getHists() const = 0;
42  virtual std::vector<std::string> getTrees() const = 0;
43  virtual std::vector<std::string> getGraphs() const = 0;
44 
45  // virtual StatusCode getTHists(TList&) const = 0;
46  virtual StatusCode getTHists(TDirectory *td, TList &,
47  bool recurse=false) const = 0;
48  virtual StatusCode getTHists(const std::string& name, TList &,
49  bool recurse=false) const = 0;
50 
51  virtual StatusCode getTHists(TDirectory *td, TList &,
52  bool recurse=false, bool reg=false) = 0;
53  virtual StatusCode getTHists(const std::string& name, TList &,
54  bool recurse=false, bool reg=false) = 0;
55 
56  // virtual StatusCode getTTrees(TList&) const = 0;
57  virtual StatusCode getTTrees(TDirectory *td, TList &,
58  bool recurse=false) const = 0;
59  virtual StatusCode getTTrees(const std::string& name, TList &,
60  bool recurse=false) const = 0;
61  virtual StatusCode getTTrees(TDirectory *td, TList &,
62  bool recurse=false, bool reg=false) = 0;
63  virtual StatusCode getTTrees(const std::string& name, TList &,
64  bool recurse=false, bool reg=false) = 0;
65 
66  virtual StatusCode regGraph(const std::string& name) = 0;
67  virtual StatusCode regGraph(const std::string& name, TGraph*) = 0;
68  virtual StatusCode getGraph(const std::string& name, TGraph*&) const = 0;
69 
70  virtual bool exists(const std::string& name) const = 0;
71 
72 };
73 
74 #endif
STL class.
General service interface definition.
Definition: IService.h:18
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
#define GAUDI_API
Definition: Kernel.h:107