The Gaudi Framework  v36r1 (3e2fb5a8)
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args > Class Template Reference

An empty ancester of all counters that provides a buffer method that returns a buffer on itself Also registers the counter to its owner, with default type "counter". More...

#include </builds/gaudi/Gaudi/GaudiKernel/include/Gaudi/Accumulators.h>

Inheritance diagram for Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >:
Collaboration diagram for Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >:

Public Member Functions

 BufferableCounter ()=default
 
template<typename OWNER , typename... CARGS>
 BufferableCounter (OWNER *o, std::string const &name, const std::string counterType, CARGS... args)
 
template<typename OWNER >
 BufferableCounter (OWNER *o, std::string const &name)
 
Buffer< Accumulator, Atomicity, Args... > buffer ()
 
 BufferableCounter (BufferableCounter const &)=default
 
BufferableCounteroperator= (BufferableCounter const &)=default
 
 ~BufferableCounter ()
 
- Public Member Functions inherited from Gaudi::Accumulators::PrintableCounter
 PrintableCounter ()=default
 
virtual ~PrintableCounter ()=default
 destructor More...
 
template<typename stream >
stream & printImpl (stream &s, std::string_view tag) const
 
virtual std::ostreamprint (std::ostream &, bool tableFormat=false) const =0
 prints the counter to a stream More...
 
virtual MsgStreamprint (MsgStream &, bool tableFormat=true) const =0
 
virtual std::ostreamprint (std::ostream &o, std::string_view tag) const
 prints the counter to a stream in table format, with the given tag More...
 
virtual MsgStreamprint (MsgStream &o, std::string_view tag) const
 
virtual bool toBePrinted () const
 hint whether we should print that counter or not. More...
 
std::string toString () const
 get a string representation More...
 
virtual nlohmann::json toJSON () const =0
 Basic JSON export for Gaudi::Monitoring::Hub support. More...
 

Private Attributes

Monitoring::Hubm_monitoringHub {nullptr}
 

Detailed Description

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
class Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >

An empty ancester of all counters that provides a buffer method that returns a buffer on itself Also registers the counter to its owner, with default type "counter".

See also
Gaudi::Accumulators for detailed documentation

Definition at line 867 of file Accumulators.h.

Constructor & Destructor Documentation

◆ BufferableCounter() [1/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( )
default

◆ BufferableCounter() [2/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
template<typename OWNER , typename... CARGS>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( OWNER *  o,
std::string const &  name,
const std::string  counterType,
CARGS...  args 
)
inline

Definition at line 871 of file Accumulators.h.

872  : Accumulator<Atomicity, Args...>( args... ), m_monitoringHub( &o->serviceLocator()->monitoringHub() ) {
873  m_monitoringHub->registerEntity( o->name(), name, counterType, *this );
874  }

◆ BufferableCounter() [3/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
template<typename OWNER >
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( OWNER *  o,
std::string const &  name 
)
inline

Definition at line 876 of file Accumulators.h.

876 : BufferableCounter( o, name, "counter" ) {}

◆ BufferableCounter() [4/4]

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( BufferableCounter< Atomicity, Accumulator, Args > const &  )
default

◆ ~BufferableCounter()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::~BufferableCounter ( )
inline

Definition at line 880 of file Accumulators.h.

880  {
881  if ( m_monitoringHub ) { m_monitoringHub->removeEntity( *this ); }
882  }

Member Function Documentation

◆ buffer()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Buffer<Accumulator, Atomicity, Args...> Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::buffer ( )
inline

Definition at line 877 of file Accumulators.h.

877 { return {*this}; }

◆ operator=()

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
BufferableCounter& Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::operator= ( BufferableCounter< Atomicity, Accumulator, Args > const &  )
default

Member Data Documentation

◆ m_monitoringHub

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
Monitoring::Hub* Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::m_monitoringHub {nullptr}
private

Definition at line 885 of file Accumulators.h.


The documentation for this class was generated from the following file:
Gaudi::Accumulators::BufferableCounter::m_monitoringHub
Monitoring::Hub * m_monitoringHub
Definition: Accumulators.h:885
Gaudi::Accumulators::BufferableCounter::BufferableCounter
BufferableCounter()=default
TimingHistograms.name
name
Definition: TimingHistograms.py:23
Gaudi::Monitoring::Hub::registerEntity
void registerEntity(std::string c, std::string n, std::string t, T &ent)
Definition: MonitoringHub.h:85
Gaudi::Monitoring::Hub::removeEntity
void removeEntity(T &ent)
Definition: MonitoringHub.h:94
gaudirun.args
args
Definition: gaudirun.py:319