![]() |
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 25 of file TScalerQueue.h.
Public Member Functions | |
TDeadtimeScalerQueue (const TDeadtimeScalerQueue &)=default | |
TDeadtimeScalerQueue (TDeadtimeScalerQueue &&) noexcept=default | |
~TDeadtimeScalerQueue ()=default | |
void | Add (TScalerData *) |
void | CheckStatus () const |
void | Clear (Option_t *opt="") override |
unsigned int | GetTotalScalersIn () const |
unsigned int | GetTotalScalersOut () const |
TDeadtimeScalerQueue & | operator= (const TDeadtimeScalerQueue &)=default |
TDeadtimeScalerQueue & | operator= (TDeadtimeScalerQueue &&) 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 TDeadtimeScalerQueue * | Get () |
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 {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 TDeadtimeScalerQueue * | fDeadtimeScalerQueueClassPointer = nullptr |
static std::map< int, int > | fScalerIdMap |
|
default |
|
defaultnoexcept |
|
default |
|
private |
Definition at line 27 of file TScalerQueue.cxx.
References Clear(), fDeadtimeScalerQueueClassPointer, and fStopwatch.
Referenced by Get().
void TDeadtimeScalerQueue::Add | ( | TScalerData * | scalerData | ) |
Add a Scaler to the scaler Queue.
Definition at line 91 of file TScalerQueue.cxx.
References fDeadtimeScalerQueue, fScalersIn, fScalersInQueue, fTotalScalersIn, and Sorted.
Referenced by TGRSIDataParser::GriffinDataToScalerEvent().
void TDeadtimeScalerQueue::CheckStatus | ( | ) | const |
Definition at line 150 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 43 of file TScalerQueue.cxx.
References All, fDeadtimeScalerQueue, fScalersIn, fScalersInQueue, fScalersOut, fStopwatch, fTotalScalersIn, fTotalScalersOut, RED, and RESET_COLOR.
Referenced by TDeadtimeScalerQueue().
|
static |
Get a pointer to the global scaler Q.
Definition at line 18 of file TScalerQueue.cxx.
References TDeadtimeScalerQueue(), and fDeadtimeScalerQueueClassPointer.
Referenced by TGRSIDataParser::GriffinDataToScalerEvent(), and TFragWriteLoop::Write().
|
inline |
Definition at line 76 of file TScalerQueue.h.
References fTotalScalersIn.
|
inline |
Definition at line 77 of file TScalerQueue.h.
References fTotalScalersOut.
|
default |
|
defaultnoexcept |
|
override |
Definition at line 111 of file TScalerQueue.cxx.
References fDeadtimeScalerQueue, fScalersInQueue, fScalersOut, and Sorted.
TScalerData * TDeadtimeScalerQueue::PopScaler | ( | ) |
Definition at line 123 of file TScalerQueue.cxx.
References fDeadtimeScalerQueue, fScalersInQueue, fScalersOut, fTotalScalersOut, Size(), and Sorted.
|
override |
Print the status of the Scaler Queue
Definition at line 37 of file TScalerQueue.cxx.
References CheckStatus().
|
private |
Definition at line 187 of file TScalerQueue.cxx.
References All, fScalersIn, and fScalersOut.
Referenced by StatusUpdate().
|
inline |
Definition at line 79 of file TScalerQueue.h.
References fStop.
int TDeadtimeScalerQueue::Size | ( | ) | const |
Definition at line 144 of file TScalerQueue.cxx.
References fScalersInQueue.
Referenced by CheckStatus(), PopScaler(), and StatusUpdate().
void TDeadtimeScalerQueue::StartStatusUpdate | ( | ) |
The status thread runs the status update at various intervals to show the progress of the analysis tree.
Definition at line 76 of file TScalerQueue.cxx.
References fStatusUpdateOn, and StatusUpdate().
|
private |
Definition at line 164 of file TScalerQueue.cxx.
References All, BLUE, DGREEN, fScalersIn, fScalersOut, fStatusUpdateOn, fStopwatch, RESET_COLOR, ResetRateCounter(), and Size().
Referenced by StartStatusUpdate().
|
inline |
Definition at line 80 of file TScalerQueue.h.
References fStop.
void TDeadtimeScalerQueue::StopStatusUpdate | ( | ) |
|
static |
Definition at line 60 of file TScalerQueue.h.
Referenced by CheckStatus(), Clear(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 38 of file TScalerQueue.h.
Referenced by Add(), Clear(), Pop(), and PopScaler().
|
staticprivate |
Definition at line 36 of file TScalerQueue.h.
Referenced by TDeadtimeScalerQueue(), and Get().
|
staticprivate |
Definition at line 55 of file TScalerQueue.h.
|
private |
Definition at line 46 of file TScalerQueue.h.
Referenced by Add(), Clear(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 39 of file TScalerQueue.h.
Referenced by Add(), Clear(), Pop(), PopScaler(), and Size().
|
private |
Definition at line 47 of file TScalerQueue.h.
Referenced by Clear(), Pop(), PopScaler(), ResetRateCounter(), and StatusUpdate().
|
private |
Definition at line 42 of file TScalerQueue.h.
Referenced by StartStatusUpdate(), StatusUpdate(), and StopStatusUpdate().
|
private |
Definition at line 44 of file TScalerQueue.h.
|
private |
Definition at line 49 of file TScalerQueue.h.
Referenced by TDeadtimeScalerQueue(), Clear(), and StatusUpdate().
|
private |
Definition at line 52 of file TScalerQueue.h.
Referenced by Add(), CheckStatus(), Clear(), and GetTotalScalersIn().
|
private |
Definition at line 53 of file TScalerQueue.h.
Referenced by CheckStatus(), Clear(), GetTotalScalersOut(), and PopScaler().
|
static |
Definition at line 61 of file TScalerQueue.h.
Referenced by Add(), Pop(), and PopScaler().