ATLAS Offline Software
IMonitoredVariable.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AthenaMonitoringKernel_IMonitoredVariable_h
6 #define AthenaMonitoringKernel_IMonitoredVariable_h
7 
8 #include <string>
9 #include <vector>
10 
11 namespace Monitored {
12  class MonitoredGroup;
13 
15  public:
17  virtual ~IMonitoredVariable() {}
18 
19  const std::string& name() const { return m_name; }
20  virtual double get(size_t) const = 0;
21  virtual std::string getString(size_t) const = 0;
22  virtual bool hasStringRepresentation() const = 0;
23  virtual size_t size() const = 0;
24 
25  protected:
26 
27  IMonitoredVariable(std::string name)
28  : m_name(std::move(name)) {}
29 
30  private:
31  const std::string m_name;
32  };
33 }
34 
35 #endif /* AthenaMonitoringKernel_IMonitoredVariable_h */
Monitored::IMonitoredVariable::size
virtual size_t size() const =0
gives size of vector representation
Monitored::IMonitoredVariable::getString
virtual std::string getString(size_t) const =0
Monitored::IMonitoredVariable::MonitoredGroup
friend MonitoredGroup
Definition: IMonitoredVariable.h:16
Monitored::IMonitoredVariable::IMonitoredVariable
IMonitoredVariable(std::string name)
Definition: IMonitoredVariable.h:27
Monitored::IMonitoredVariable
Definition: IMonitoredVariable.h:14
Monitored::IMonitoredVariable::get
virtual double get(size_t) const =0
Monitored
Generic monitoring tool for athena components.
Definition: GenericMonitoringTool.h:30
Monitored::IMonitoredVariable::~IMonitoredVariable
virtual ~IMonitoredVariable()
Definition: IMonitoredVariable.h:17
Monitored::IMonitoredVariable::hasStringRepresentation
virtual bool hasStringRepresentation() const =0
indcates that the stored content can be converted to strings
Monitored::IMonitoredVariable::name
const std::string & name() const
Definition: IMonitoredVariable.h:19
Monitored::IMonitoredVariable::m_name
const std::string m_name
Definition: IMonitoredVariable.h:31