The Gaudi Framework  v36r9 (fd2bdac3)
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" Due to this registration, move semantic is disabled. 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 >
 BufferableCounter (OWNER *o, std::string const &name)
 
Buffer< Accumulator, Atomicity, Args... > buffer ()
 
 BufferableCounter (BufferableCounter const &)=delete
 
BufferableCounteroperator= (BufferableCounter const &)=delete
 
 ~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...
 

Static Public Attributes

static const std::string typeString { "counter" }
 

Protected Member Functions

template<typename OWNER , typename SELF , typename... CARGS>
 BufferableCounter (OWNER *o, std::string const &name, SELF &self, CARGS... args)
 

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" Due to this registration, move semantic is disabled.

But copy semantic remains.

See also
Gaudi::Accumulators for detailed documentation

Definition at line 874 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 >
Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::BufferableCounter ( OWNER *  o,
std::string const &  name 
)
inline

Definition at line 879 of file Accumulators.h.

879 : BufferableCounter( o, name, *this ) {}

◆ BufferableCounter() [3/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 &  )
delete

◆ ~BufferableCounter()

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

Definition at line 883 of file Accumulators.h.

883  {
884  if ( m_monitoringHub ) { m_monitoringHub->removeEntity( *this ); }
885  }

◆ BufferableCounter() [4/4]

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

Definition at line 891 of file Accumulators.h.

892  : Accumulator<Atomicity, Args...>( args... ), m_monitoringHub( &o->serviceLocator()->monitoringHub() ) {
893  m_monitoringHub->registerEntity( o->name(), name, self.typeString, self );
894  }

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 880 of file Accumulators.h.

880 { 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 &  )
delete

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 897 of file Accumulators.h.

◆ typeString

template<atomicity Atomicity, template< atomicity Ato, typename... Int > class Accumulator, typename... Args>
const std::string Gaudi::Accumulators::BufferableCounter< Atomicity, Accumulator, Args >::typeString { "counter" }
inlinestatic

Definition at line 887 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:897
Gaudi::Accumulators::BufferableCounter::BufferableCounter
BufferableCounter()=default
GaudiPython.Pythonizations.self
self
Definition: Pythonizations.py:588
TimingHistograms.name
name
Definition: TimingHistograms.py:25
Gaudi::Monitoring::Hub::registerEntity
void registerEntity(std::string c, std::string n, std::string t, T &ent)
Definition: MonitoringHub.h:163
Gaudi::Monitoring::Hub::removeEntity
void removeEntity(T &ent)
Definition: MonitoringHub.h:171
gaudirun.args
args
Definition: gaudirun.py:336