The Gaudi Framework  master (d98a2936)
IMonitorSvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
12 
13 #include <GaudiKernel/IInterface.h>
14 #include <set>
15 #include <string>
16 
17 // forward declaration
18 namespace AIDA {
19  class IBaseHistogram;
20 }
21 class StatEntity;
22 
32 class GAUDI_API IMonitorSvc : virtual public IInterface {
33 public:
36 
44  virtual void declareInfo( const std::string& name, const bool& var, const std::string& desc,
45  const IInterface* owner ) = 0;
46  virtual void declareInfo( const std::string& name, const int& var, const std::string& desc,
47  const IInterface* owner ) = 0;
48  virtual void declareInfo( const std::string& name, const long& var, const std::string& desc,
49  const IInterface* owner ) = 0;
50  virtual void declareInfo( const std::string& name, const double& var, const std::string& desc,
51  const IInterface* owner ) = 0;
52  virtual void declareInfo( const std::string& name, const std::string& var, const std::string& desc,
53  const IInterface* owner ) = 0;
54  virtual void declareInfo( const std::string& name, const std::pair<double, double>& var, const std::string& desc,
55  const IInterface* owner ) = 0;
56  virtual void declareInfo( const std::string& name, const AIDA::IBaseHistogram* var, const std::string& desc,
57  const IInterface* owner ) = 0;
58  virtual void declareInfo( const std::string& name, const StatEntity& var, const std::string& desc,
59  const IInterface* owner ) = 0;
60  virtual void declareInfo( const std::string& name, const std::string& format, const void* var, int size,
61  const std::string& desc, const IInterface* owner ) = 0;
62 
67  virtual void undeclareInfo( const std::string& name, const IInterface* owner ) = 0;
71  virtual void undeclareAll( const IInterface* owner ) = 0;
72 
77  virtual std::set<std::string>* getInfos( const IInterface* owner = 0 ) = 0;
78 };
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const double &var, const std::string &desc, const IInterface *owner)=0
AIDA
Definition: Annotation.h:21
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
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:32
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:93
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
IInterface
Definition: IInterface.h:225
IMonitorSvc::declareInfo
virtual void declareInfo(const std::string &name, const std::string &var, const std::string &desc, const IInterface *owner)=0
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:49