The Gaudi Framework  master (37c0b60a)
IMonitorSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIKERNEL_IMONITORSVC_H
12 #define GAUDIKERNEL_IMONITORSVC_H
13 
14 #include <GaudiKernel/IInterface.h>
15 #include <set>
16 #include <string>
17 
18 // forward declaration
19 namespace AIDA {
20  class IBaseHistogram;
21 }
22 class StatEntity;
23 
33 class GAUDI_API IMonitorSvc : virtual public IInterface {
34 public:
37 
45  virtual void declareInfo( const std::string& name, const bool& var, const std::string& desc,
46  const IInterface* owner ) = 0;
47  virtual void declareInfo( const std::string& name, const int& var, const std::string& desc,
48  const IInterface* owner ) = 0;
49  virtual void declareInfo( const std::string& name, const long& var, const std::string& desc,
50  const IInterface* owner ) = 0;
51  virtual void declareInfo( const std::string& name, const double& var, const std::string& desc,
52  const IInterface* owner ) = 0;
53  virtual void declareInfo( const std::string& name, const std::string& var, const std::string& desc,
54  const IInterface* owner ) = 0;
55  virtual void declareInfo( const std::string& name, const std::pair<double, double>& var, const std::string& desc,
56  const IInterface* owner ) = 0;
57  virtual void declareInfo( const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc,
58  const IInterface* owner ) = 0;
59  virtual void declareInfo( const std::string& name, const StatEntity& var, const std::string& desc,
60  const IInterface* owner ) = 0;
61  virtual void declareInfo( const std::string& name, const std::string& format, const void* var, int size,
62  const std::string& desc, const IInterface* owner ) = 0;
63 
68  virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
72  virtual void undeclareAll( const IInterface* owner ) = 0;
73 
78  virtual std::set<std::string>* getInfos( const IInterface* owner = 0 ) = 0;
79 };
80 
81 #endif // GAUDIKERNEL_IMONITORSVC_H
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const double &var, const std::string &desc, const IInterface *owner)=0
AIDA
GaudiKernel.
Definition: Annotation.h:22
std::string
STL class.
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const StatEntity &var, const std::string &desc, const IInterface *owner)=0
IMonitorSvc::undeclareAll
virtual void undeclareAll(const IInterface *owner)=0
Undeclare monitoring information.
details::size
constexpr auto size(const T &, Args &&...) noexcept
Definition: AnyDataWrapper.h:23
std::pair< double, double >
StatEntity
backward compatible StatEntity class.
Definition: StatEntity.h:23
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const AIDA::IBaseHistogram *var, const std::string &desc, const IInterface *owner)=0
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const long &var, const std::string &desc, const IInterface *owner)=0
IMonitorSvc::DeclareInterfaceID
DeclareInterfaceID(IMonitorSvc, 4, 1)
InterfaceID.
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const std::pair< double, double > &var, const std::string &desc, const IInterface *owner)=0
IMonitorSvc
Definition: IMonitorSvc.h:33
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const int &var, const std::string &desc, const IInterface *owner)=0
IMonitorSvc::getInfos
virtual std::set< std::string > * getInfos(const IInterface *owner=0)=0
Get the names for all declared monitoring informations for a given owner.
IInterface.h
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const bool &var, const std::string &desc, const IInterface *owner)=0
Declare monitoring information.
IMonitorSvc::undeclareInfo
virtual void undeclareInfo(const std::string &name, const IInterface *owner)=0
Undeclare monitoring information.
format
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
IInterface
Definition: IInterface.h:239
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const std::string &var, const std::string &desc, const IInterface *owner)=0
std::set< std::string >
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const std::string &format, const void *var, int size, const std::string &desc, const IInterface *owner)=0
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81