The Gaudi Framework  v29r0 (ff2e7097)
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 {
11  class IBaseHistogram;
12 }
13 class StatEntity;
14 
24 class GAUDI_API IMonitorSvc : virtual public IInterface
25 {
26 public:
29 
37  virtual void declareInfo( const std::string& name, const bool& var, const std::string& desc,
38  const IInterface* owner ) = 0;
39  virtual void declareInfo( const std::string& name, const int& var, const std::string& desc,
40  const IInterface* owner ) = 0;
41  virtual void declareInfo( const std::string& name, const long& var, const std::string& desc,
42  const IInterface* owner ) = 0;
43  virtual void declareInfo( const std::string& name, const double& var, const std::string& desc,
44  const IInterface* owner ) = 0;
45  virtual void declareInfo( const std::string& name, const std::string& var, const std::string& desc,
46  const IInterface* owner ) = 0;
47  virtual void declareInfo( const std::string& name, const std::pair<double, double>& var, const std::string& desc,
48  const IInterface* owner ) = 0;
49  virtual void declareInfo( const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc,
50  const IInterface* owner ) = 0;
51  virtual void declareInfo( const std::string& name, const StatEntity& var, const std::string& desc,
52  const IInterface* owner ) = 0;
53  virtual void declareInfo( const std::string& name, const std::string& format, const void* var, int size,
54  const std::string& desc, const IInterface* owner ) = 0;
55 
60  virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
64  virtual void undeclareAll( const IInterface* owner ) = 0;
65 
70  virtual std::set<std::string>* getInfos( const IInterface* owner = 0 ) = 0;
71 };
72 
73 #endif // GAUDIKERNEL_IMONITORSVC_H
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
GaudiKernel.
Definition: Fill.h:10
STL class.
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:24
#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:277
The basic counter used for Monitoring purposes.
Definition: StatEntity.h:65
#define GAUDI_API
Definition: Kernel.h:110