![]() |
GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
![]() |
This class is where we store scalers. It is thread-safe and returns it's status in order to monitor progress.
Definition at line 86 of file TScalerQueue.h.
Public Member Functions | |
TRateScalerQueue (const TRateScalerQueue &)=default | |
TRateScalerQueue (TRateScalerQueue &&) noexcept=default | |
~TRateScalerQueue ()=default | |
void | Add (TScalerData *) |
void | CheckStatus () const |
void | Clear (Option_t *opt="") override |
unsigned int | GetTotalScalersIn () const |
unsigned int | GetTotalScalersOut () const |
TRateScalerQueue & | operator= (const TRateScalerQueue &)=default |
TRateScalerQueue & | operator= (TRateScalerQueue &&) noexcept=default |
void | Pop () override |
TScalerData * | PopScaler () |
void | Print (Option_t *opt="") const override |
bool | Running () const |
int | Size () const |
void | StartStatusUpdate () |
void | Stop () |
void | StopStatusUpdate () |
Static Public Member Functions | |
static TRateScalerQueue * | Get () |
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 {0} |
int | fScalersOut {0} |
bool | fStatusUpdateOn {false} |
bool | fStop {false} |
TStopwatch * | fStopwatch {nullptr} |
unsigned int | fTotalScalersIn {0} |
unsigned int | fTotalScalersOut {0} |
Static Private Attributes | |
static TRateScalerQueue * | fRateScalerQueueClassPointer = nullptr |
static std::map< int, int > | fScalerIdMap |
|
default |
|
defaultnoexcept |
|
default |
|
private |
Definition at line 223 of file TScalerQueue.cxx.
References Clear(), fRateScalerQueueClassPointer, and fStopwatch.
Referenced by Get().
void TRateScalerQueue::Add | ( | TScalerData * | scalerData | ) |
Add a Scaler to the scaler Queue.
Definition at line 286 of file TScalerQueue.cxx.
References fRateScalerQueue, fScalersIn, fScalersInQueue, fTotalScalersIn, and Sorted.
Referenced by TGRSIDataParser::EmmaRawDataToFragment(), TGRSIDataParser::EmmaSumDataToFragment(), and TGRSIDataParser::GriffinDataToScalerEvent().
void TRateScalerQueue::CheckStatus | ( | ) | const |
Definition at line 345 of file TScalerQueue.cxx.
References All, BLUE, DGREEN, fTotalScalersIn, fTotalScalersOut, RESET_COLOR, and Size().
Referenced by Print().
|
override |
Clear the entire Queue, Queue counters, and timer.
Definition at line 239 of file TScalerQueue.cxx.
References All, fRateScalerQueue, fScalersIn, fScalersInQueue, fScalersOut, fStopwatch, fTotalScalersIn, fTotalScalersOut, RED, and RESET_COLOR.
Referenced by TRateScalerQueue().
|
static |
Get a pointer to the global scaler Q.
Definition at line 214 of file TScalerQueue.cxx.
References TRateScalerQueue(), and fRateScalerQueueClassPointer.
Referenced by TGRSIDataParser::EmmaRawDataToFragment(), TGRSIDataParser::EmmaSumDataToFragment(), TGRSIDataParser::GriffinDataToScalerEvent(), and TFragWriteLoop::Write().
|
inline |
Definition at line 137 of file TScalerQueue.h.
References fTotalScalersIn.
|
inline |
Definition at line 138 of file TScalerQueue.h.
References fTotalScalersOut.
|
default |
|
defaultnoexcept |
|
override |
Definition at line 306 of file TScalerQueue.cxx.
References fRateScalerQueue, fScalersInQueue, fScalersOut, and Sorted.
TScalerData * TRateScalerQueue::PopScaler | ( | ) |
Definition at line 318 of file TScalerQueue.cxx.
References fRateScalerQueue, fScalersInQueue, fScalersOut, fTotalScalersOut, Size(), and Sorted.
|
override |
Print the status of the Scaler Queue
Definition at line 233 of file TScalerQueue.cxx.
References CheckStatus().
|
private |
Definition at line 382 of file TScalerQueue.cxx.
References All, fScalersIn, and fScalersOut.
Referenced by StatusUpdate().
|
inline |
Definition at line 140 of file TScalerQueue.h.
References fStop.
int TRateScalerQueue::Size | ( | ) | const |
Definition at line 339 of file TScalerQueue.cxx.
References fScalersInQueue.
Referenced by CheckStatus(), PopScaler(), and StatusUpdate().
void TRateScalerQueue::StartStatusUpdate | ( | ) |
The status thread runs the status update at various intervals to show the progress of the analysis tree.
Definition at line 271 of file TScalerQueue.cxx.
References fStatusUpdateOn, and StatusUpdate().
|
private |
Definition at line 359 of file TScalerQueue.cxx.
References All, BLUE, DGREEN, fScalersIn, fScalersOut, fStatusUpdateOn, fStopwatch, RESET_COLOR, ResetRateCounter(), and Size().
Referenced by StartStatusUpdate().
|
inline |
Definition at line 141 of file TScalerQueue.h.
References fStop.
void TRateScalerQueue::StopStatusUpdate | ( | ) |
Stops the status update
Definition at line 280 of file TScalerQueue.cxx.
References fStatusUpdateOn.
|
static |
Definition at line 121 of file TScalerQueue.h.
Referenced by CheckStatus(), Clear(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 99 of file TScalerQueue.h.
Referenced by Add(), Clear(), Pop(), and PopScaler().
|
staticprivate |
Definition at line 97 of file TScalerQueue.h.
Referenced by TRateScalerQueue(), and Get().
|
staticprivate |
Definition at line 116 of file TScalerQueue.h.
|
private |
Definition at line 107 of file TScalerQueue.h.
Referenced by Add(), Clear(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 100 of file TScalerQueue.h.
Referenced by Add(), Clear(), Pop(), PopScaler(), and Size().
|
private |
Definition at line 108 of file TScalerQueue.h.
Referenced by Clear(), Pop(), PopScaler(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 103 of file TScalerQueue.h.
Referenced by StartStatusUpdate(), StatusUpdate(), and StopStatusUpdate().
|
private |
Definition at line 105 of file TScalerQueue.h.
|
private |
Definition at line 110 of file TScalerQueue.h.
Referenced by TRateScalerQueue(), Clear(), and StatusUpdate().
|
private |
Definition at line 113 of file TScalerQueue.h.
Referenced by Add(), CheckStatus(), Clear(), and GetTotalScalersIn().
|
private |
Definition at line 114 of file TScalerQueue.h.
Referenced by CheckStatus(), Clear(), GetTotalScalersOut(), and PopScaler().
|
static |
Definition at line 122 of file TScalerQueue.h.
Referenced by Add(), Pop(), and PopScaler().