00001 #ifndef GAUDIKERNEL_IMONITORSVC_H
00002 #define GAUDIKERNEL_IMONITORSVC_H
00003
00004 #include "GaudiKernel/IInterface.h"
00005 #include <string>
00006 #include <set>
00007
00008
00009 static const InterfaceID IID_IMonitorSvc("IMonitorSvc", 3, 0);
00010
00011
00012 namespace AIDA { class IBaseHistogram; }
00013
00023 class IMonitorSvc : virtual public IInterface {
00024 public:
00026 static const InterfaceID& interfaceID() { return IID_IMonitorSvc; }
00027
00035 virtual void declareInfo(const std::string& name, const bool& var, const std::string& desc, const IInterface* owner) = 0;
00036 virtual void declareInfo(const std::string& name, const int& var, const std::string& desc, const IInterface* owner) = 0;
00037 virtual void declareInfo(const std::string& name, const long& var, const std::string& desc, const IInterface* owner) = 0;
00038 virtual void declareInfo(const std::string& name, const double& var, const std::string& desc, const IInterface* owner) = 0;
00039 virtual void declareInfo(const std::string& name, const std::string& var, const std::string& desc, const IInterface* owner) = 0;
00040 virtual void declareInfo(const std::string& name, const std::pair<double,double>& var, const std::string& desc, const IInterface* owner) = 0;
00041 virtual void declareInfo(const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc, const IInterface* owner) = 0;
00042 virtual void declareInfo(const std::string& name, const std::string& format, const void * var, int size, const std::string& desc, const IInterface* owner) = 0;
00043
00048 virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
00052 virtual void undeclareAll( const IInterface* owner ) = 0;
00053
00058 virtual std::set<std::string>* getInfos(const IInterface* owner = 0) = 0;
00059
00060 };
00061
00062 #endif // GAUDIKERNEL_IMONITORSVC_H