ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMonTimer Class Reference

#include <TrigMonTimer.h>

Collaboration diagram for TrigMonTimer:

Public Member Functions

 TrigMonTimer ()
 TrigMonTimer (long int tv_sec, long int tv_usec)
 TrigMonTimer (uint32_t encoded)
 ~TrigMonTimer ()
uint32_t getSec () const
uint32_t getUSec () const
uint32_t getMicroSec () const
uint32_t getEncoded () const
double elapsed (const TrigMonTimer &start) const
double getElapsed (const TrigMonTimer &start) const

Private Attributes

uint32_t m_encoded

Detailed Description

Definition at line 26 of file TrigMonTimer.h.

Constructor & Destructor Documentation

◆ TrigMonTimer() [1/3]

TrigMonTimer::TrigMonTimer ( )

Definition at line 25 of file TrigMonTimer.cxx.

26 :m_encoded(0x0)
27{
28}
uint32_t m_encoded

◆ TrigMonTimer() [2/3]

TrigMonTimer::TrigMonTimer ( long int tv_sec,
long int tv_usec )

Definition at line 31 of file TrigMonTimer.cxx.

33 :m_encoded(0x0)
34{
35 if(!(tv_sec < 0.0) && !(tv_usec < 0.0)) {
36 const uint32_t sec = static_cast<uint32_t>(tv_sec % TimerBits::moduloSec);
37 const uint32_t usec = static_cast<uint32_t>(tv_usec);
38
39 // Yes, these are redundant checks.
40 if(sec >= TimerBits::moduloSec) {
41 REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "TrigMonTimer")
42 << "ctor error! sec=" << sec << ", " << tv_sec;
43 }
44 if(usec >= 1000000) {
45 REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "TrigMonTimer")
46 << "ctor error! usec=" << usec << ", " << tv_usec;
47 }
48
50 m_encoded |= usec;
51 }
52}
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
const uint32_t moduloSec
const uint32_t shiftSec
setEventNumber uint32_t

◆ TrigMonTimer() [3/3]

TrigMonTimer::TrigMonTimer ( uint32_t encoded)
explicit

Definition at line 55 of file TrigMonTimer.cxx.

56 :m_encoded(encoded)
57{
58}

◆ ~TrigMonTimer()

TrigMonTimer::~TrigMonTimer ( )
inline

Definition at line 33 of file TrigMonTimer.h.

33{}

Member Function Documentation

◆ elapsed()

double TrigMonTimer::elapsed ( const TrigMonTimer & start) const
inline

Definition at line 40 of file TrigMonTimer.h.

40{ return getElapsed(start); }
double getElapsed(const TrigMonTimer &start) const

◆ getElapsed()

double TrigMonTimer::getElapsed ( const TrigMonTimer & start) const

Definition at line 75 of file TrigMonTimer.cxx.

76{
77 // return elapsed time - assume time period is less than moduloSec seconds
78
79 // get time difference in seconds
80 int secs = getSec() - start_time.getSec();
81 if(getSec() < start_time.getSec()) secs = TimerBits::moduloSec+getSec()-start_time.getSec();
82
83 // get time difference in microseconds
84 int usecs = getMicroSec() - start_time.getMicroSec();
85
86 return static_cast<double>(secs)*1000.0 + static_cast<double>(usecs)/1000.0;
87}
uint32_t getSec() const
uint32_t getMicroSec() const

◆ getEncoded()

uint32_t TrigMonTimer::getEncoded ( ) const
inline

Definition at line 38 of file TrigMonTimer.h.

38{ return m_encoded; }

◆ getMicroSec()

uint32_t TrigMonTimer::getMicroSec ( ) const

Definition at line 68 of file TrigMonTimer.cxx.

69{
70 // return value in seconds
72}
const uint32_t maskUSec
const uint32_t shiftUSec

◆ getSec()

uint32_t TrigMonTimer::getSec ( ) const

Definition at line 61 of file TrigMonTimer.cxx.

62{
63 // return value in seconds
64 return static_cast<uint32_t>((m_encoded & TimerBits::maskSec) >> TimerBits::shiftSec);
65}
const uint32_t maskSec

◆ getUSec()

uint32_t TrigMonTimer::getUSec ( ) const
inline

Definition at line 36 of file TrigMonTimer.h.

36{ return getMicroSec(); }

Member Data Documentation

◆ m_encoded

uint32_t TrigMonTimer::m_encoded
private

Definition at line 45 of file TrigMonTimer.h.


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