IMonitorSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IMONITORSVC_H
2 #define GAUDIKERNEL_IMONITORSVC_H
3 
5 #include <string>
6 #include <set>
7 
8 // forward declaration
9 namespace AIDA { class IBaseHistogram; }
10 class StatEntity;
11 
21 class GAUDI_API IMonitorSvc: virtual public IInterface {
22 public:
25 
33  virtual void declareInfo(const std::string& name, const bool& var, const std::string& desc, const IInterface* owner) = 0;
34  virtual void declareInfo(const std::string& name, const int& var, const std::string& desc, const IInterface* owner) = 0;
35  virtual void declareInfo(const std::string& name, const long& var, const std::string& desc, const IInterface* owner) = 0;
36  virtual void declareInfo(const std::string& name, const double& var, const std::string& desc, const IInterface* owner) = 0;
37  virtual void declareInfo(const std::string& name, const std::string& var, const std::string& desc, const IInterface* owner) = 0;
38  virtual void declareInfo(const std::string& name, const std::pair<double,double>& var, const std::string& desc, const IInterface* owner) = 0;
39  virtual void declareInfo(const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc, const IInterface* owner) = 0;
40  virtual void declareInfo(const std::string& name, const StatEntity& var, const std::string& desc, const IInterface* owner) = 0;
41  virtual void declareInfo(const std::string& name, const std::string& format, const void * var, int size, const std::string& desc, const IInterface* owner) = 0;
42 
47  virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
51  virtual void undeclareAll( const IInterface* owner ) = 0;
52 
57  virtual std::set<std::string>* getInfos(const IInterface* owner = 0) = 0;
58 
59 };
60 
61 #endif // GAUDIKERNEL_IMONITORSVC_H
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
GaudiKernel.
Definition: Fill.h:8
STL class.
Definition of the IMonitorSvc interface, which publishes Gaudi variables to outside monitoring proces...
Definition: IMonitorSvc.h:21
Definition of the basic interface.
Definition: IInterface.h:234
The basic counter used for Monitoring purposes.
Definition: StatEntity.h:64
#define GAUDI_API
Definition: Kernel.h:107