The Gaudi Framework  v36r1 (3e2fb5a8)
CounterAlg.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 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 
12 #include "Gaudi/Accumulators.h"
13 
14 #include "GaudiAlg/Consumer.h"
15 
18 
20 
21  void operator()() const override {
22  // update all counters by some fixed values
23  basic++;
24  avg += 1.5;
25  sig += 2.5;
26  stat += 3.5;
27  binomial += true;
28  ++msg;
29  avg_int += 1;
30  avg_noAto += 1.5;
31  }
32 
33  // declare all sorts of counters with default options (double values, atomicity full)
34  mutable Gaudi::Accumulators::Counter<> basic{this, "Basic"};
35  mutable Gaudi::Accumulators::AveragingCounter<> avg{this, "Average"};
36  mutable Gaudi::Accumulators::SigmaCounter<> sig{this, "Sigma"};
39  mutable Gaudi::Accumulators::MsgCounter<MSG::INFO> msg{this, "Super nice message, max 5 times", 5};
40 
41  // test change of some template parameters
44  this, "AverageNonAtomic"};
45 };
46 
CounterAlg
Definition: CounterAlg.py:1
CounterAlg::operator()
void operator()() const override
Definition: CounterAlg.cpp:21
Gaudi::Functional::Consumer
details::Consumer< Signature, Traits_, details::isLegacy< Traits_ > > Consumer
Definition: Consumer.h:69
Gaudi::Accumulators::SigmaCounter
A counter aiming at computing average and sum2 / variance / standard deviation.
Definition: Accumulators.h:975
Gaudi::Accumulators::Counter
A basic integral counter;.
Definition: Accumulators.h:893
CounterAlg::avg
Gaudi::Accumulators::AveragingCounter avg
Definition: CounterAlg.cpp:35
GaudiMP.FdsRegistry.msg
msg
Definition: FdsRegistry.py:18
Gaudi::Accumulators::AveragingCounter
A counter aiming at computing sum and average.
Definition: Accumulators.h:936
CounterAlg::avg_noAto
Gaudi::Accumulators::AveragingCounter< double, Gaudi::Accumulators::atomicity::none > avg_noAto
Definition: CounterAlg.cpp:43
CounterAlg::stat
Gaudi::Accumulators::StatCounter stat
Definition: CounterAlg.cpp:37
Gaudi::Functional::details::Consumer
Definition: Consumer.h:24
CounterAlg::binomial
Gaudi::Accumulators::BinomialCounter binomial
Definition: CounterAlg.cpp:38
Consumer.h
basic
Definition: basic.py:1
CounterAlg::avg_int
Gaudi::Accumulators::AveragingCounter< unsigned int > avg_int
Definition: CounterAlg.cpp:42
CounterAlg::sig
Gaudi::Accumulators::SigmaCounter sig
Definition: CounterAlg.cpp:36
Gaudi::Accumulators::BinomialCounter
A counter dealing with binomial data.
Definition: Accumulators.h:1057
Gaudi::Accumulators::MsgCounter< MSG::INFO >
Accumulators.h
DECLARE_COMPONENT
#define DECLARE_COMPONENT(type)
Definition: PluginServiceV1.h:46
CounterAlg::msg
Gaudi::Accumulators::MsgCounter< MSG::INFO > msg
Definition: CounterAlg.cpp:39
Gaudi::Accumulators::StatCounter
A counter aiming at computing average and sum2 / variance / standard deviation.
Definition: Accumulators.h:1014