GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
TGo4Ratemeter Class Reference

#include <TGo4Ratemeter.h>

+ Inheritance diagram for TGo4Ratemeter:

Public Member Functions

 TGo4Ratemeter ()
 
virtual ~TGo4Ratemeter ()
 
Bool_t IsRunning () const
 
Double_t GetRate () const
 
Double_t GetTime () const
 
ULong64_t GetCurrentCount () const
 
Double_t GetAvRate () const
 
const char * GetDateTime () const
 
const char * GetCurrentSource () const
 
void UpdateFrom (const TGo4Ratemeter *r)
 
Bool_t Update (Int_t increment=1)
 
void SetRunning (Bool_t on=kTRUE)
 
void SetDateTime (const char *str)
 
void SetCurrentSource (const char *str)
 
void Reset ()
 
Bool_t TestUpdate ()
 
void SetUpdateInterval (double v)
 

Private Attributes

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

Static Private Attributes

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

Detailed Description

Class containing event counter and ratemeter services.

Definition at line 24 of file TGo4Ratemeter.h.

Constructor & Destructor Documentation

◆ TGo4Ratemeter()

TGo4Ratemeter::TGo4Ratemeter ( )

Definition at line 19 of file TGo4Ratemeter.cxx.

◆ ~TGo4Ratemeter()

TGo4Ratemeter::~TGo4Ratemeter ( )
virtual

Definition at line 36 of file TGo4Ratemeter.cxx.

Member Function Documentation

◆ GetAvRate()

Double_t TGo4Ratemeter::GetAvRate ( ) const
inline

◆ GetCurrentCount()

ULong64_t TGo4Ratemeter::GetCurrentCount ( ) const
inline

◆ GetCurrentSource()

const char* TGo4Ratemeter::GetCurrentSource ( ) const
inline

Definition at line 60 of file TGo4Ratemeter.h.

References Update(), and UpdateFrom().

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetDateTime()

const char* TGo4Ratemeter::GetDateTime ( ) const
inline

Definition at line 58 of file TGo4Ratemeter.h.

Referenced by TGo4AnalysisStatusMonitor::linkedObjectUpdated().

◆ GetRate()

Double_t TGo4Ratemeter::GetRate ( ) const
inline

◆ GetTime()

Double_t TGo4Ratemeter::GetTime ( ) const
inline

◆ 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 ( )

◆ SetCurrentSource()

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

Definition at line 71 of file TGo4Ratemeter.h.

References Reset(), and TestUpdate().

Referenced by TGo4Analysis::RunImplicitLoop(), and TGo4AnalysisClient::UpdateStatus().

◆ SetDateTime()

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

◆ SetRunning()

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

Definition at line 69 of file TGo4Ratemeter.h.

References fbRunning.

Referenced by TGo4Analysis::RunImplicitLoop(), and TGo4AnalysisClient::UpdateRate().

◆ 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.

Referenced by TGo4Analysis::RunImplicitLoop().

◆ 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.

Referenced by SetCurrentSource(), and TGo4AnalysisClient::TestRatemeter().

◆ 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.

Referenced by GetCurrentSource(), TGo4Analysis::RunImplicitLoop(), and TGo4AnalysisClient::UpdateRate().

◆ UpdateFrom()

void TGo4Ratemeter::UpdateFrom ( const TGo4Ratemeter r)

Member Data Documentation

◆ fbRunning

Bool_t TGo4Ratemeter::fbRunning {kFALSE}
private

Definition at line 26 of file TGo4Ratemeter.h.

Referenced by 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 Reset(), TestUpdate(), and Update().

◆ fdRate

Double_t TGo4Ratemeter::fdRate {0}
private

Definition at line 28 of file TGo4Ratemeter.h.

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

◆ fdTime

Double_t TGo4Ratemeter::fdTime {0}
private

Definition at line 29 of file TGo4Ratemeter.h.

Referenced by 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 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.

◆ fLastTm

TTimeStamp TGo4Ratemeter::fLastTm
private

Number of events processed at last ratemeter update.

Definition at line 34 of file TGo4Ratemeter.h.

Referenced by 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 Reset(), and Update().

◆ fuCurrentCount

ULong64_t TGo4Ratemeter::fuCurrentCount {0}
private

Definition at line 27 of file TGo4Ratemeter.h.

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

◆ fuLastCount

ULong64_t TGo4Ratemeter::fuLastCount {0}
private

Definition at line 33 of file TGo4Ratemeter.h.

Referenced by 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 Reset(), and Update().

◆ fxDateString

TString TGo4Ratemeter::fxDateString
private

Definition at line 30 of file TGo4Ratemeter.h.

Referenced by UpdateFrom().

◆ fxEventSource

TString TGo4Ratemeter::fxEventSource
private

Definition at line 31 of file TGo4Ratemeter.h.

Referenced by UpdateFrom().


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