GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4Ratemeter Class Reference

Class containing event counter and ratemeter services. More...

#include <TGo4Ratemeter.h>

+ Inheritance diagram for TGo4Ratemeter:

Public Member Functions

 TGo4Ratemeter ()
 
virtual ~TGo4Ratemeter ()
 
Double_t GetAvRate () const
 
ULong64_t GetCurrentCount () const
 
const char * GetCurrentSource () const
 
const char * GetDateTime () const
 
Double_t GetRate () const
 
Double_t GetTime () const
 
Bool_t IsRunning () const
 
void Reset ()
 Reset counter and rate values.
 
void SetCurrentSource (const char *str)
 
void SetDateTime (const char *str)
 
void SetRunning (Bool_t on=kTRUE)
 
void SetUpdateInterval (double v)
 Set update interval in seconds - default is 1.
 
Bool_t TestUpdate ()
 Test if update has been called since last test.
 
Bool_t Update (Int_t increment=1)
 Update counter and rate values.
 
void UpdateFrom (const TGo4Ratemeter *r)
 

Private Attributes

Bool_t fbRunning {kFALSE}
 
Bool_t fbUpdateDone {kFALSE}
 Time when last rate measurement was done.
 
Double_t fdRate {0}
 
Double_t fdTime {0}
 
Double_t fdUpdateInterval {0}
 How often time should be checked.
 
TTimeStamp fLastTm
 Number of events processed at last ratemeter update.
 
ULong64_t fuCheckInterval {0}
 Next counter value when time will be checked.
 
ULong64_t fuCurrentCount {0}
 
ULong64_t fuLastCount {0}
 
ULong64_t fuNextCheckCnt {0}
 True if update has been performed since last TestZero call.
 
TString fxDateString
 
TString fxEventSource
 

Static Private Attributes

static const Double_t fgdUPDATEINTERVAL = 1.0
 Configured interval in seconds before two updates.
 

Detailed Description

Class containing event counter and ratemeter services.

Definition at line 24 of file TGo4Ratemeter.h.

Constructor & Destructor Documentation

◆ TGo4Ratemeter()

◆ ~TGo4Ratemeter()

TGo4Ratemeter::~TGo4Ratemeter ( )
virtual

Definition at line 36 of file TGo4Ratemeter.cxx.

Member Function Documentation

◆ GetAvRate()

Double_t TGo4Ratemeter::GetAvRate ( ) const
inline

Definition at line 56 of file TGo4Ratemeter.h.

References fdTime, and fuCurrentCount.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetCurrentCount()

ULong64_t TGo4Ratemeter::GetCurrentCount ( ) const
inline

Definition at line 54 of file TGo4Ratemeter.h.

References fuCurrentCount.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetCurrentSource()

const char * TGo4Ratemeter::GetCurrentSource ( ) const
inline

Definition at line 60 of file TGo4Ratemeter.h.

References fxEventSource.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetDateTime()

const char * TGo4Ratemeter::GetDateTime ( ) const
inline

Definition at line 58 of file TGo4Ratemeter.h.

References fxDateString.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetRate()

Double_t TGo4Ratemeter::GetRate ( ) const
inline

◆ GetTime()

Double_t TGo4Ratemeter::GetTime ( ) const
inline

Definition at line 52 of file TGo4Ratemeter.h.

References fdTime.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ IsRunning()

Bool_t TGo4Ratemeter::IsRunning ( ) const
inline

Definition at line 48 of file TGo4Ratemeter.h.

References fbRunning.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ Reset()

void TGo4Ratemeter::Reset ( )

Reset counter and rate values.

Definition at line 53 of file TGo4Ratemeter.cxx.

References fbRunning, fbUpdateDone, fdRate, fdTime, fLastTm, fuCheckInterval, fuCurrentCount, fuLastCount, and fuNextCheckCnt.

◆ SetCurrentSource()

void TGo4Ratemeter::SetCurrentSource ( const char * str)
inline

Definition at line 71 of file TGo4Ratemeter.h.

References fxEventSource.

◆ SetDateTime()

void TGo4Ratemeter::SetDateTime ( const char * str)
inline

Definition at line 70 of file TGo4Ratemeter.h.

References fxDateString.

◆ SetRunning()

void TGo4Ratemeter::SetRunning ( Bool_t on = kTRUE)
inline

Definition at line 69 of file TGo4Ratemeter.h.

References fbRunning.

◆ SetUpdateInterval()

void TGo4Ratemeter::SetUpdateInterval ( double v)
inline

Set update interval in seconds - default is 1.

Definition at line 82 of file TGo4Ratemeter.h.

References fdUpdateInterval.

◆ TestUpdate()

Bool_t TGo4Ratemeter::TestUpdate ( )

Test if update has been called since last test.

To be called from watch thread to check if main thread is still active. If not, watch thread has to update status and rate itself.

Definition at line 112 of file TGo4Ratemeter.cxx.

References fbUpdateDone.

◆ Update()

Bool_t TGo4Ratemeter::Update ( Int_t increment = 1)

Update counter and rate values.

Parameter increment may specify the number of counts to add before the new rate is calculated. Return kTRUE if new rate is calculated

Definition at line 67 of file TGo4Ratemeter.cxx.

References fbRunning, fbUpdateDone, fdRate, fdTime, fdUpdateInterval, fLastTm, fuCheckInterval, fuCurrentCount, fuLastCount, and fuNextCheckCnt.

◆ UpdateFrom()

void TGo4Ratemeter::UpdateFrom ( const TGo4Ratemeter * r)

Field Documentation

◆ fbRunning

Bool_t TGo4Ratemeter::fbRunning {kFALSE}
private

Definition at line 26 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), IsRunning(), Reset(), SetRunning(), Update(), and UpdateFrom().

◆ fbUpdateDone

Bool_t TGo4Ratemeter::fbUpdateDone {kFALSE}
private

Time when last rate measurement was done.

Definition at line 35 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), Reset(), TestUpdate(), and Update().

◆ fdRate

Double_t TGo4Ratemeter::fdRate {0}
private

Definition at line 28 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), GetRate(), Reset(), Update(), and UpdateFrom().

◆ fdTime

Double_t TGo4Ratemeter::fdTime {0}
private

Definition at line 29 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), GetAvRate(), GetTime(), Reset(), Update(), and UpdateFrom().

◆ fdUpdateInterval

Double_t TGo4Ratemeter::fdUpdateInterval {0}
private

How often time should be checked.

Definition at line 39 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), SetUpdateInterval(), and Update().

◆ fgdUPDATEINTERVAL

const Double_t TGo4Ratemeter::fgdUPDATEINTERVAL = 1.0
staticprivate

Configured interval in seconds before two updates.

Definition at line 41 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter().

◆ fLastTm

TTimeStamp TGo4Ratemeter::fLastTm
private

Number of events processed at last ratemeter update.

Definition at line 34 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), Reset(), and Update().

◆ fuCheckInterval

ULong64_t TGo4Ratemeter::fuCheckInterval {0}
private

Next counter value when time will be checked.

Definition at line 38 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), Reset(), and Update().

◆ fuCurrentCount

ULong64_t TGo4Ratemeter::fuCurrentCount {0}
private

Definition at line 27 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), GetAvRate(), GetCurrentCount(), Reset(), Update(), and UpdateFrom().

◆ fuLastCount

ULong64_t TGo4Ratemeter::fuLastCount {0}
private

Definition at line 33 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), Reset(), and Update().

◆ fuNextCheckCnt

ULong64_t TGo4Ratemeter::fuNextCheckCnt {0}
private

True if update has been performed since last TestZero call.

Definition at line 37 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), Reset(), and Update().

◆ fxDateString

TString TGo4Ratemeter::fxDateString
private

Definition at line 30 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), GetDateTime(), SetDateTime(), and UpdateFrom().

◆ fxEventSource

TString TGo4Ratemeter::fxEventSource
private

Definition at line 31 of file TGo4Ratemeter.h.

Referenced by TGo4Ratemeter(), GetCurrentSource(), SetCurrentSource(), and UpdateFrom().


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