10#include <framework/modules/core/ProgressModule.h>
13#include <framework/core/Environment.h>
14#include <framework/logging/Logger.h>
25 setDescription(
"Periodically writes the number of processed events/runs to the"
26 " logging system to give a progress indication.\n"
27 "The output is logarithmic, meaning it will output the first 10 events, "
28 "then every tenth event up to 100, then every hundreth event up to 1000, etc. "
29 "Output cannot be suppressed using set_log_level. "
30 "If you don't want messages, you don't want this module");
32 "At most, 10^N events will lie between outputs",
m_maxOrder);
45 B2INFO(
"Begin of new run.");
53 uint32_t interval = (uint32_t)std::pow(10., order);
unsigned int getNumberOfEvents() const
Return the number of events, from either input or EventInfoSetter, or -n command line override (if le...
static Environment & Instance()
Static method to get a reference to the Environment instance.
@ c_Info
Info: for informational messages, e.g.
void setLogLevel(int logLevel)
Configure the log level.
void setDescription(const std::string &description)
Sets the description of the module.
uint32_t m_totalEvtNr
Total number of events in the current process.
void initialize() override
Init the module.
void event() override
Show progress.
uint32_t m_evtNr
Number of processed events.
uint32_t m_maxOrder
Maximum order of magnitude for interval between showing progress.
boost::format m_output
Compiled output format.
void beginRun() override
Show beginRun message.
ProgressModule()
Constructor.
uint32_t m_runNr
Number of processed runs.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.