Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IMonitorSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IMONITORSVC_H
2 #define GAUDIKERNEL_IMONITORSVC_H
3 
5 #include <set>
6 #include <string>
7 
8 // forward declaration
9 namespace AIDA {
10  class IBaseHistogram;
11 }
12 class StatEntity;
13 
23 class GAUDI_API IMonitorSvc : virtual public IInterface {
24 public:
27 
35  virtual void declareInfo( const std::string& name, const bool& var, const std::string& desc,
36  const IInterface* owner ) = 0;
37  virtual void declareInfo( const std::string& name, const int& var, const std::string& desc,
38  const IInterface* owner ) = 0;
39  virtual void declareInfo( const std::string& name, const long& var, const std::string& desc,
40  const IInterface* owner ) = 0;
41  virtual void declareInfo( const std::string& name, const double& var, const std::string& desc,
42  const IInterface* owner ) = 0;
43  virtual void declareInfo( const std::string& name, const std::string& var, const std::string& desc,
44  const IInterface* owner ) = 0;
45  virtual void declareInfo( const std::string& name, const std::pair<double, double>& var, const std::string& desc,
46  const IInterface* owner ) = 0;
47  virtual void declareInfo( const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc,
48  const IInterface* owner ) = 0;
49  virtual void declareInfo( const std::string& name, const StatEntity& var, const std::string& desc,
50  const IInterface* owner ) = 0;
51  virtual void declareInfo( const std::string& name, const std::string& format, const void* var, int size,
52  const std::string& desc, const IInterface* owner ) = 0;
53 
58  virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
62  virtual void undeclareAll( const IInterface* owner ) = 0;
63 
68  virtual std::set<std::string>* getInfos( const IInterface* owner = 0 ) = 0;
69 };
70 
71 #endif // GAUDIKERNEL_IMONITORSVC_H
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:109
GaudiKernel.
Definition: Fill.h:10
constexpr auto size(const C &c) noexcept(noexcept(c.size())) -> decltype(c.size())
STL class.
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:23
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:244
backward compatible StatEntity class.
Definition: Counters.h:837
#define GAUDI_API
Definition: Kernel.h:71