CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca::MonitorData< ECounterKey, ETimerKey > Class Template Reference

Monitor data block. More...

#include <CaMonitorData.h>

Inheritance diagram for cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >:
[legend]
Collaboration diagram for cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >:
[legend]

Public Types

template<typename T>
using CounterArray = EnumArray<ECounterKey, T>
 Alias to array, indexed by the counter enumeration.
 
template<typename T>
using TimerArray = EnumArray<ETimerKey, T>
 Alias to array, indexed by the timer enumeration.
 

Public Member Functions

 MonitorData ()=default
 Default constructor.
 
 MonitorData (const MonitorData &)=default
 Copy constructor.
 
 MonitorData (MonitorData &&)=default
 Move constructor.
 
 ~MonitorData ()=default
 Destructor.
 
MonitorDataoperator= (const MonitorData &)=default
 Copy assignment operator.
 
MonitorDataoperator= (MonitorData &&)=default
 Move assignment operator.
 
void AddMonitorData (const MonitorData &other, bool parallel=false)
 Adds the other monitor data to this.
 
int GetCounterValue (ECounterKey key) const
 Gets counter value.
 
int GetNofCounters () const
 Gets number of counters.
 
int GetNofTimers () const
 Gets number of timers.
 
const TimerGetTimer (ETimerKey key) const
 Gets timer.
 
void IncrementCounter (ECounterKey key)
 Increments key counter by 1.
 
void IncrementCounter (ECounterKey key, int num)
 Increments key counter by a number.
 
void Reset ()
 Resets all the counters and timers.
 
void ResetCounter (ECounterKey key)
 Resets a particular counter.
 
void StartTimer (ETimerKey key)
 Starts timer.
 
void StopTimer (ETimerKey key)
 Stops timer.
 

Private Member Functions

template<typename Archive>
void serialize (Archive &ar, const unsigned int)
 

Private Attributes

TimerArray< TimerfaTimers {}
 Array of timers.
 
CounterArray< int > faCounters {}
 Array of counters.
 

Friends

class boost::serialization::access
 

Detailed Description

template<class ECounterKey, class ETimerKey>
class cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >

Monitor data block.

Template Parameters
ECounterKeyA enum class, containing keys for monitorables
ETimerKeyA enum class, containing keys for timers

Definition at line 27 of file CaMonitorData.h.

Member Typedef Documentation

◆ CounterArray

template<class ECounterKey, class ETimerKey>
template<typename T>
using cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::CounterArray = EnumArray<ECounterKey, T>

Alias to array, indexed by the counter enumeration.

Definition at line 31 of file CaMonitorData.h.

◆ TimerArray

template<class ECounterKey, class ETimerKey>
template<typename T>
using cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::TimerArray = EnumArray<ETimerKey, T>

Alias to array, indexed by the timer enumeration.

Definition at line 35 of file CaMonitorData.h.

Constructor & Destructor Documentation

◆ MonitorData() [1/3]

template<class ECounterKey, class ETimerKey>
cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::MonitorData ( )
default

Default constructor.

Referenced by AddMonitorData().

◆ MonitorData() [2/3]

template<class ECounterKey, class ETimerKey>
cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::MonitorData ( const MonitorData< ECounterKey, ETimerKey > & )
default

Copy constructor.

◆ MonitorData() [3/3]

template<class ECounterKey, class ETimerKey>
cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::MonitorData ( MonitorData< ECounterKey, ETimerKey > && )
default

Move constructor.

◆ ~MonitorData()

template<class ECounterKey, class ETimerKey>
cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::~MonitorData ( )
default

Destructor.

Member Function Documentation

◆ AddMonitorData()

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::AddMonitorData ( const MonitorData< ECounterKey, ETimerKey > & other,
bool parallel = false )
inline

Adds the other monitor data to this.

Parameters
otherReference to the other MonitorData object to add
parallelIf the monitors were filled in parallel (See CaTimer::AddTimer)

Definition at line 118 of file CaMonitorData.h.

References faCounters, faTimers, and MonitorData().

◆ GetCounterValue()

template<class ECounterKey, class ETimerKey>
int cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetCounterValue ( ECounterKey key) const
inline

Gets counter value.

Parameters
key

Definition at line 62 of file CaMonitorData.h.

Referenced by cbm::algo::Reco::QueueTrackingMetrics().

◆ GetNofCounters()

template<class ECounterKey, class ETimerKey>
int cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetNofCounters ( ) const
inline

Gets number of counters.

Definition at line 65 of file CaMonitorData.h.

◆ GetNofTimers()

template<class ECounterKey, class ETimerKey>
int cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetNofTimers ( ) const
inline

Gets number of timers.

Definition at line 68 of file CaMonitorData.h.

◆ GetTimer()

template<class ECounterKey, class ETimerKey>
const Timer & cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetTimer ( ETimerKey key) const
inline

Gets timer.

Definition at line 71 of file CaMonitorData.h.

Referenced by cbm::algo::Reco::QueueTrackingMetrics().

◆ IncrementCounter() [1/2]

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::IncrementCounter ( ECounterKey key)
inline

Increments key counter by 1.

Parameters
keyCounter key

Definition at line 75 of file CaMonitorData.h.

◆ IncrementCounter() [2/2]

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::IncrementCounter ( ECounterKey key,
int num )
inline

Increments key counter by a number.

Parameters
keyCounter key
numNumber to add

Definition at line 80 of file CaMonitorData.h.

◆ operator=() [1/2]

template<class ECounterKey, class ETimerKey>
MonitorData & cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::operator= ( const MonitorData< ECounterKey, ETimerKey > & )
default

Copy assignment operator.

◆ operator=() [2/2]

template<class ECounterKey, class ETimerKey>
MonitorData & cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::operator= ( MonitorData< ECounterKey, ETimerKey > && )
default

Move assignment operator.

◆ Reset()

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::Reset ( )
inline

Resets all the counters and timers.

Definition at line 132 of file CaMonitorData.h.

References faCounters, and faTimers.

◆ ResetCounter()

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::ResetCounter ( ECounterKey key)
inline

Resets a particular counter.

Parameters
keyCounter key

Definition at line 87 of file CaMonitorData.h.

◆ serialize()

template<class ECounterKey, class ETimerKey>
template<typename Archive>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 100 of file CaMonitorData.h.

◆ StartTimer()

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::StartTimer ( ETimerKey key)
inline

Starts timer.

Parameters
keyTimer key

Definition at line 91 of file CaMonitorData.h.

◆ StopTimer()

template<class ECounterKey, class ETimerKey>
void cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::StopTimer ( ETimerKey key)
inline

Stops timer.

Parameters
keyTimer key

Definition at line 95 of file CaMonitorData.h.

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<class ECounterKey, class ETimerKey>
friend class boost::serialization::access
friend

Definition at line 98 of file CaMonitorData.h.

Member Data Documentation

◆ faCounters

template<class ECounterKey, class ETimerKey>
CounterArray<int> cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::faCounters {}
private

Array of counters.

Definition at line 107 of file CaMonitorData.h.

Referenced by AddMonitorData(), and Reset().

◆ faTimers

template<class ECounterKey, class ETimerKey>
TimerArray<Timer> cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::faTimers {}
private

Array of timers.

Definition at line 106 of file CaMonitorData.h.

Referenced by AddMonitorData(), and Reset().


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