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

Definition at line 23 of file TScalerQueue.h.

Public Member Functions

 ~TDeadtimeScalerQueue () 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 TDeadtimeScalerQueueGet ()
 

Static Public Attributes

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

Private Member Functions

 TDeadtimeScalerQueue ()
 
void ResetRateCounter ()
 
void StatusUpdate ()
 

Private Attributes

std::queue< TScalerData * > fDeadtimeScalerQueue
 
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 TDeadtimeScalerQueuefDeadtimeScalerQueueClassPointer = nullptr
 
static std::map< int, int > fScalerIdMap
 

#include <TScalerQueue.h>

+ Inheritance diagram for TDeadtimeScalerQueue:
+ Collaboration diagram for TDeadtimeScalerQueue:

Constructor & Destructor Documentation

◆ ~TDeadtimeScalerQueue()

TDeadtimeScalerQueue::~TDeadtimeScalerQueue ( )
overridedefault

◆ TDeadtimeScalerQueue()

TDeadtimeScalerQueue::TDeadtimeScalerQueue ( )
private

Definition at line 27 of file TScalerQueue.cxx.

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

Referenced by Get().

Member Function Documentation

◆ Add()

void TDeadtimeScalerQueue::Add ( TScalerData scalerData)

Add a Scaler to the scaler Queue.

Definition at line 96 of file TScalerQueue.cxx.

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

Referenced by TGRSIDataParser::GriffinDataToScalerEvent().

◆ CheckStatus()

void TDeadtimeScalerQueue::CheckStatus ( ) const

Definition at line 155 of file TScalerQueue.cxx.

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

Referenced by Print().

◆ Clear()

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

Clear the entire Queue, Queue counters, and timer.

Definition at line 48 of file TScalerQueue.cxx.

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

Referenced by TDeadtimeScalerQueue().

◆ Get()

TDeadtimeScalerQueue * TDeadtimeScalerQueue::Get ( )
static

Get a pointer to the global scaler Q.

Definition at line 18 of file TScalerQueue.cxx.

References fDeadtimeScalerQueueClassPointer, and TDeadtimeScalerQueue().

Referenced by TGRSIDataParser::GriffinDataToScalerEvent().

◆ GetTotalScalersIn()

unsigned int TDeadtimeScalerQueue::GetTotalScalersIn ( )
inline

Definition at line 73 of file TScalerQueue.h.

References fTotalScalersIn.

◆ GetTotalScalersOut()

unsigned int TDeadtimeScalerQueue::GetTotalScalersOut ( )
inline

Definition at line 74 of file TScalerQueue.h.

References fTotalScalersOut.

◆ Pop()

void TDeadtimeScalerQueue::Pop ( )
override

Definition at line 116 of file TScalerQueue.cxx.

References fDeadtimeScalerQueue, fScalersInQueue, fScalersOut, and Sorted.

◆ PopScaler()

TScalerData * TDeadtimeScalerQueue::PopScaler ( )

◆ Print()

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

Print the status of the Scaler Queue

Definition at line 42 of file TScalerQueue.cxx.

References CheckStatus().

◆ ResetRateCounter()

void TDeadtimeScalerQueue::ResetRateCounter ( )
private

Definition at line 192 of file TScalerQueue.cxx.

References All, fScalersIn, and fScalersOut.

Referenced by StatusUpdate().

◆ Running()

bool TDeadtimeScalerQueue::Running ( )
inline

Definition at line 76 of file TScalerQueue.h.

References fStop.

◆ ScalersInQueue()

int TDeadtimeScalerQueue::ScalersInQueue ( )
inline

Definition at line 28 of file TScalerQueue.h.

References fScalersInQueue.

◆ Size()

int TDeadtimeScalerQueue::Size ( ) const

Definition at line 149 of file TScalerQueue.cxx.

References fScalersInQueue.

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

◆ StartStatusUpdate()

void TDeadtimeScalerQueue::StartStatusUpdate ( )

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

Definition at line 81 of file TScalerQueue.cxx.

References fStatusUpdateOn, and StatusUpdate().

◆ StatusUpdate()

void TDeadtimeScalerQueue::StatusUpdate ( )
private

◆ Stop()

void TDeadtimeScalerQueue::Stop ( )
inline

Definition at line 77 of file TScalerQueue.h.

References fStop.

◆ StopStatusUpdate()

void TDeadtimeScalerQueue::StopStatusUpdate ( )

Stops the status update

Definition at line 90 of file TScalerQueue.cxx.

References fStatusUpdateOn.

Member Data Documentation

◆ All

std::mutex TDeadtimeScalerQueue::All
static

Definition at line 56 of file TScalerQueue.h.

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

◆ fDeadtimeScalerQueue

std::queue<TScalerData*> TDeadtimeScalerQueue::fDeadtimeScalerQueue
private

Definition at line 34 of file TScalerQueue.h.

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

◆ fDeadtimeScalerQueueClassPointer

TDeadtimeScalerQueue * TDeadtimeScalerQueue::fDeadtimeScalerQueueClassPointer = nullptr
staticprivate

Definition at line 32 of file TScalerQueue.h.

Referenced by Get(), and TDeadtimeScalerQueue().

◆ fScalerIdMap

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

Definition at line 51 of file TScalerQueue.h.

◆ fScalersIn

int TDeadtimeScalerQueue::fScalersIn {0}
private

Definition at line 42 of file TScalerQueue.h.

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

◆ fScalersInQueue

int TDeadtimeScalerQueue::fScalersInQueue
private

Definition at line 35 of file TScalerQueue.h.

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

◆ fScalersOut

int TDeadtimeScalerQueue::fScalersOut {0}
private

Definition at line 43 of file TScalerQueue.h.

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

◆ fStatusUpdateOn

bool TDeadtimeScalerQueue::fStatusUpdateOn {false}
private

Definition at line 38 of file TScalerQueue.h.

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

◆ fStop

bool TDeadtimeScalerQueue::fStop
private

Definition at line 40 of file TScalerQueue.h.

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

◆ fStopwatch

TStopwatch* TDeadtimeScalerQueue::fStopwatch
private

Definition at line 45 of file TScalerQueue.h.

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

◆ fTotalScalersIn

unsigned int TDeadtimeScalerQueue::fTotalScalersIn {0}
private

Definition at line 48 of file TScalerQueue.h.

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

◆ fTotalScalersOut

unsigned int TDeadtimeScalerQueue::fTotalScalersOut {0}
private

Definition at line 49 of file TScalerQueue.h.

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

◆ Sorted

std::mutex TDeadtimeScalerQueue::Sorted
static

Definition at line 57 of file TScalerQueue.h.

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