The Gaudi Framework  v29r0 (ff2e7097)
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 
22 public:
25 
26  virtual StatusCode regHist( const std::string& name ) = 0;
27  virtual StatusCode regHist( const std::string& name, TH1* ) = 0;
28  virtual StatusCode regHist( const std::string& name, TH2* ) = 0;
29  virtual StatusCode regHist( const std::string& name, TH3* ) = 0;
30 
31  virtual StatusCode getHist( const std::string& name, TH1*& ) const = 0;
32  virtual StatusCode getHist( const std::string& name, TH2*& ) const = 0;
33  virtual StatusCode getHist( const std::string& name, TH3*& ) const = 0;
34 
35  virtual StatusCode regTree( const std::string& name ) = 0;
36  virtual StatusCode regTree( const std::string& name, TTree* ) = 0;
37  virtual StatusCode getTree( const std::string& name, TTree*& ) const = 0;
38 
39  virtual StatusCode deReg( const std::string& name ) = 0;
40  virtual StatusCode deReg( TObject* obj ) = 0;
41 
42  virtual std::vector<std::string> getHists() const = 0;
43  virtual std::vector<std::string> getTrees() const = 0;
44  virtual std::vector<std::string> getGraphs() const = 0;
45 
46  // virtual StatusCode getTHists(TList&) const = 0;
47  virtual StatusCode getTHists( TDirectory* td, TList&, bool recurse = false ) const = 0;
48  virtual StatusCode getTHists( const std::string& name, TList&, bool recurse = false ) const = 0;
49 
50  virtual StatusCode getTHists( TDirectory* td, TList&, bool recurse = false, bool reg = false ) = 0;
51  virtual StatusCode getTHists( const std::string& name, TList&, bool recurse = false, bool reg = false ) = 0;
52 
53  // virtual StatusCode getTTrees(TList&) const = 0;
54  virtual StatusCode getTTrees( TDirectory* td, TList&, bool recurse = false ) const = 0;
55  virtual StatusCode getTTrees( const std::string& name, TList&, bool recurse = false ) const = 0;
56  virtual StatusCode getTTrees( TDirectory* td, TList&, bool recurse = false, bool reg = false ) = 0;
57  virtual StatusCode getTTrees( const std::string& name, TList&, bool recurse = false, bool reg = false ) = 0;
58 
59  virtual StatusCode regGraph( const std::string& name ) = 0;
60  virtual StatusCode regGraph( const std::string& name, TGraph* ) = 0;
61  virtual StatusCode getGraph( const std::string& name, TGraph*& ) const = 0;
62 
63  virtual bool exists( const std::string& name ) const = 0;
64 };
65 
66 #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:28
DeclareInterfaceID(IService, 4, 0)
InterfaceID.
#define GAUDI_API
Definition: Kernel.h:110