GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TRateScalerQueue Class Reference

Definition at line 83 of file TScalerQueue.h.

Public Member Functions

 ~TRateScalerQueue () override
 
void Add (TScalerData *)
 
void CheckStatus () const
 
void Clear (Option_t *opt="") override
 
unsigned int GetTotalScalersIn ()
 
unsigned int GetTotalScalersOut ()
 
void Pop () override
 
TScalerDataPopScaler ()
 
void Print (Option_t *opt="") const override
 
bool Running ()
 
int ScalersInQueue ()
 
int Size () const
 
void StartStatusUpdate ()
 
void Stop ()
 
void StopStatusUpdate ()
 

Static Public Member Functions

static TRateScalerQueueGet ()
 

Static Public Attributes

static std::mutex All
 
static std::mutex Sorted
 

Private Member Functions

 TRateScalerQueue ()
 
void ResetRateCounter ()
 
void StatusUpdate ()
 

Private Attributes

std::queue< TScalerData * > fRateScalerQueue
 
int fScalersIn {0}
 
int fScalersInQueue
 
int fScalersOut {0}
 
bool fStatusUpdateOn {false}
 
bool fStop
 
TStopwatch * fStopwatch
 
unsigned int fTotalScalersIn {0}
 
unsigned int fTotalScalersOut {0}
 

Static Private Attributes

static TRateScalerQueuefRateScalerQueueClassPointer = nullptr
 
static std::map< int, int > fScalerIdMap
 

#include <TScalerQueue.h>

+ Inheritance diagram for TRateScalerQueue:
+ Collaboration diagram for TRateScalerQueue:

Constructor & Destructor Documentation

◆ ~TRateScalerQueue()

TRateScalerQueue::~TRateScalerQueue ( )
overridedefault

◆ TRateScalerQueue()

TRateScalerQueue::TRateScalerQueue ( )
private

Definition at line 228 of file TScalerQueue.cxx.

References Clear(), fRateScalerQueueClassPointer, fScalersInQueue, fStop, and fStopwatch.

Referenced by Get().

Member Function Documentation

◆ Add()

void TRateScalerQueue::Add ( TScalerData scalerData)

Add a Scaler to the scaler Queue.

Definition at line 297 of file TScalerQueue.cxx.

References fRateScalerQueue, fScalersIn, fScalersInQueue, fTotalScalersIn, and Sorted.

Referenced by TGRSIDataParser::GriffinDataToScalerEvent().

◆ CheckStatus()

void TRateScalerQueue::CheckStatus ( ) const

Definition at line 356 of file TScalerQueue.cxx.

References All, BLUE, DGREEN, fTotalScalersIn, fTotalScalersOut, RESET_COLOR, and Size().

Referenced by Print().

◆ Clear()

void TRateScalerQueue::Clear ( Option_t *  opt = "")
override

Clear the entire Queue, Queue counters, and timer.

Definition at line 249 of file TScalerQueue.cxx.

References All, fRateScalerQueue, fScalersIn, fScalersInQueue, fScalersOut, fStopwatch, fTotalScalersIn, fTotalScalersOut, RED, and RESET_COLOR.

Referenced by TRateScalerQueue().

◆ Get()

TRateScalerQueue * TRateScalerQueue::Get ( )
static

Get a pointer to the global scaler Q.

Definition at line 219 of file TScalerQueue.cxx.

References fRateScalerQueueClassPointer, and TRateScalerQueue().

Referenced by TGRSIDataParser::GriffinDataToScalerEvent().

◆ GetTotalScalersIn()

unsigned int TRateScalerQueue::GetTotalScalersIn ( )
inline

Definition at line 133 of file TScalerQueue.h.

References fTotalScalersIn.

◆ GetTotalScalersOut()

unsigned int TRateScalerQueue::GetTotalScalersOut ( )
inline

Definition at line 134 of file TScalerQueue.h.

References fTotalScalersOut.

◆ Pop()

void TRateScalerQueue::Pop ( )
override

Definition at line 317 of file TScalerQueue.cxx.

References fRateScalerQueue, fScalersInQueue, fScalersOut, and Sorted.

◆ PopScaler()

TScalerData * TRateScalerQueue::PopScaler ( )

◆ Print()

void TRateScalerQueue::Print ( Option_t *  opt = "") const
override

Print the status of the Scaler Queue

Definition at line 243 of file TScalerQueue.cxx.

References CheckStatus().

◆ ResetRateCounter()

void TRateScalerQueue::ResetRateCounter ( )
private

Definition at line 393 of file TScalerQueue.cxx.

References All, fScalersIn, and fScalersOut.

Referenced by StatusUpdate().

◆ Running()

bool TRateScalerQueue::Running ( )
inline

Definition at line 136 of file TScalerQueue.h.

References fStop.

◆ ScalersInQueue()

int TRateScalerQueue::ScalersInQueue ( )
inline

Definition at line 88 of file TScalerQueue.h.

References fScalersInQueue.

◆ Size()

int TRateScalerQueue::Size ( ) const

Definition at line 350 of file TScalerQueue.cxx.

References fScalersInQueue.

Referenced by CheckStatus(), PopScaler(), and StatusUpdate().

◆ StartStatusUpdate()

void TRateScalerQueue::StartStatusUpdate ( )

The status thread runs the status update at various intervals to show the progress of the analysis tree.

Definition at line 282 of file TScalerQueue.cxx.

References fStatusUpdateOn, and StatusUpdate().

◆ StatusUpdate()

void TRateScalerQueue::StatusUpdate ( )
private

◆ Stop()

void TRateScalerQueue::Stop ( )
inline

Definition at line 137 of file TScalerQueue.h.

References fStop.

◆ StopStatusUpdate()

void TRateScalerQueue::StopStatusUpdate ( )

Stops the status update

Definition at line 291 of file TScalerQueue.cxx.

References fStatusUpdateOn.

Member Data Documentation

◆ All

std::mutex TRateScalerQueue::All
static

Definition at line 116 of file TScalerQueue.h.

Referenced by CheckStatus(), Clear(), ResetRateCounter(), and StatusUpdate().

◆ fRateScalerQueue

std::queue<TScalerData*> TRateScalerQueue::fRateScalerQueue
private

Definition at line 94 of file TScalerQueue.h.

Referenced by Add(), Clear(), Pop(), and PopScaler().

◆ fRateScalerQueueClassPointer

TRateScalerQueue * TRateScalerQueue::fRateScalerQueueClassPointer = nullptr
staticprivate

Definition at line 92 of file TScalerQueue.h.

Referenced by Get(), and TRateScalerQueue().

◆ fScalerIdMap

std::map<int, int> TRateScalerQueue::fScalerIdMap
staticprivate

Definition at line 111 of file TScalerQueue.h.

◆ fScalersIn

int TRateScalerQueue::fScalersIn {0}
private

Definition at line 102 of file TScalerQueue.h.

Referenced by Add(), Clear(), ResetRateCounter(), and StatusUpdate().

◆ fScalersInQueue

int TRateScalerQueue::fScalersInQueue
private

Definition at line 95 of file TScalerQueue.h.

Referenced by Add(), Clear(), Pop(), PopScaler(), ScalersInQueue(), Size(), and TRateScalerQueue().

◆ fScalersOut

int TRateScalerQueue::fScalersOut {0}
private

Definition at line 103 of file TScalerQueue.h.

Referenced by Clear(), Pop(), PopScaler(), ResetRateCounter(), and StatusUpdate().

◆ fStatusUpdateOn

bool TRateScalerQueue::fStatusUpdateOn {false}
private

Definition at line 98 of file TScalerQueue.h.

Referenced by StartStatusUpdate(), StatusUpdate(), and StopStatusUpdate().

◆ fStop

bool TRateScalerQueue::fStop
private

Definition at line 100 of file TScalerQueue.h.

Referenced by Running(), Stop(), and TRateScalerQueue().

◆ fStopwatch

TStopwatch* TRateScalerQueue::fStopwatch
private

Definition at line 105 of file TScalerQueue.h.

Referenced by Clear(), StatusUpdate(), and TRateScalerQueue().

◆ fTotalScalersIn

unsigned int TRateScalerQueue::fTotalScalersIn {0}
private

Definition at line 108 of file TScalerQueue.h.

Referenced by Add(), CheckStatus(), Clear(), and GetTotalScalersIn().

◆ fTotalScalersOut

unsigned int TRateScalerQueue::fTotalScalersOut {0}
private

Definition at line 109 of file TScalerQueue.h.

Referenced by CheckStatus(), Clear(), GetTotalScalersOut(), and PopScaler().

◆ Sorted

std::mutex TRateScalerQueue::Sorted
static

Definition at line 117 of file TScalerQueue.h.

Referenced by Add(), Pop(), and PopScaler().