The Gaudi Framework  v30r3 (a5ef0a68)
Gaudi::Accumulators::AveragingCounter< Arithmetic, Atomicity > Struct Template Reference

A counter aiming at computing sum and average. More...

#include <GaudiKernel/Counters.h>

Inheritance diagram for Gaudi::Accumulators::AveragingCounter< Arithmetic, Atomicity >:
Collaboration diagram for Gaudi::Accumulators::AveragingCounter< Arithmetic, Atomicity >:

Public Member Functions

std::ostreamprint (std::ostream &o, bool tableFormat=false) const override
 prints the counter to a stream More...
 
- Public Member Functions inherited from Gaudi::Accumulators::BufferableCounter< Arithmetic, Atomicity, Accumulator >
Buffer< Arithmetic, Accumulator > buffer ()
 
- Public Member Functions inherited from Gaudi::Accumulators::PrintableCounter
 PrintableCounter ()=default
 
template<class OWNER >
 PrintableCounter (OWNER *o, const std::string &tag)
 
virtual ~PrintableCounter ()=default
 destructor More...
 
virtual std::ostreamprint (std::ostream &o, const std::string &tag) const
 prints the counter to a stream in table format, with the given tag More...
 
std::string toString () const
 get a string representation More...
 
- Public Member Functions inherited from Gaudi::Accumulators::AveragingAccumulator< Arithmetic, Atomicity >
Arithmetic mean () const
 
- Public Member Functions inherited from Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >
constexpr AccumulatorSet ()=default
 
AccumulatorSetoperator+= (const InputType by)
 
OutputType value () const
 
void reset ()
 
template<atomicity Ato>
void mergeAndReset (AccumulatorSet< Arithmetic, Ato, Bases... > &&other)
 

Additional Inherited Members

- Public Types inherited from Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >
using InputType = Arithmetic
 
using OutputType = std::tuple< typename Bases< Arithmetic, Atomicity >::OutputType... >
 
- Protected Member Functions inherited from Gaudi::Accumulators::AccumulatorSet< Arithmetic, Atomicity, Bases >
void reset (const std::tuple< typename Bases< Arithmetic, Atomicity >::OutputType... > &t)
 

Detailed Description

template<typename Arithmetic = double, atomicity Atomicity = atomicity::full>
struct Gaudi::Accumulators::AveragingCounter< Arithmetic, Atomicity >

A counter aiming at computing sum and average.

Definition at line 687 of file Counters.h.

Member Function Documentation

template<typename Arithmetic = double, atomicity Atomicity = atomicity::full>
std::ostream& Gaudi::Accumulators::AveragingCounter< Arithmetic, Atomicity >::print ( std::ostream ,
bool  tableFormat = false 
) const
inlineoverridevirtual

prints the counter to a stream

Implements Gaudi::Accumulators::PrintableCounter.

Definition at line 691 of file Counters.h.

692  {
693  std::string fmt;
694  if ( tableFormat ) {
695  fmt = "|%|7d| |%|11.7g| |%|#11.5g| |";
696  } else {
697  fmt = "#=%|-7lu| Sum=%|-11.5g| Mean=%|#10.4g|";
698  }
699  return o << boost::format{fmt} % this->nEntries() % this->sum() % this->mean();
700  }
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:120
double sum(double x, double y, double z)
STL class.

The documentation for this struct was generated from the following file: