GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TDeadtimeScalerQueue Class Reference

Detailed Description

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
 
TDeadtimeScalerQueueoperator= (const TDeadtimeScalerQueue &)=default
 
TDeadtimeScalerQueueoperator= (TDeadtimeScalerQueue &&) noexcept=default
 
void Pop () override
 
TScalerDataPopScaler ()
 
void Print (Option_t *opt="") const override
 
bool Running () const
 
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 {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 TDeadtimeScalerQueuefDeadtimeScalerQueueClassPointer = nullptr
 
static std::map< int, int > fScalerIdMap
 
+ Inheritance diagram for TDeadtimeScalerQueue:
+ Collaboration diagram for TDeadtimeScalerQueue:

Constructor & Destructor Documentation

◆ TDeadtimeScalerQueue() [1/3]

TDeadtimeScalerQueue::TDeadtimeScalerQueue ( const TDeadtimeScalerQueue & )
default

◆ TDeadtimeScalerQueue() [2/3]

TDeadtimeScalerQueue::TDeadtimeScalerQueue ( TDeadtimeScalerQueue && )
defaultnoexcept

◆ ~TDeadtimeScalerQueue()

TDeadtimeScalerQueue::~TDeadtimeScalerQueue ( )
default

◆ TDeadtimeScalerQueue() [3/3]

TDeadtimeScalerQueue::TDeadtimeScalerQueue ( )
private

Definition at line 27 of file TScalerQueue.cxx.

References Clear(), fDeadtimeScalerQueueClassPointer, and fStopwatch.

Referenced by Get().

Member Function Documentation

◆ Add()

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

◆ CheckStatus()

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

◆ Clear()

void TDeadtimeScalerQueue::Clear ( Option_t * opt = "")
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().

◆ Get()

TDeadtimeScalerQueue * TDeadtimeScalerQueue::Get ( )
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().

◆ GetTotalScalersIn()

unsigned int TDeadtimeScalerQueue::GetTotalScalersIn ( ) const
inline

Definition at line 76 of file TScalerQueue.h.

References fTotalScalersIn.

◆ GetTotalScalersOut()

unsigned int TDeadtimeScalerQueue::GetTotalScalersOut ( ) const
inline

Definition at line 77 of file TScalerQueue.h.

References fTotalScalersOut.

◆ operator=() [1/2]

TDeadtimeScalerQueue & TDeadtimeScalerQueue::operator= ( const TDeadtimeScalerQueue & )
default

◆ operator=() [2/2]

TDeadtimeScalerQueue & TDeadtimeScalerQueue::operator= ( TDeadtimeScalerQueue && )
defaultnoexcept

◆ Pop()

void TDeadtimeScalerQueue::Pop ( )
override

Definition at line 111 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 37 of file TScalerQueue.cxx.

References CheckStatus().

◆ ResetRateCounter()

void TDeadtimeScalerQueue::ResetRateCounter ( )
private

Definition at line 187 of file TScalerQueue.cxx.

References All, fScalersIn, and fScalersOut.

Referenced by StatusUpdate().

◆ Running()

bool TDeadtimeScalerQueue::Running ( ) const
inline

Definition at line 79 of file TScalerQueue.h.

References fStop.

◆ Size()

int TDeadtimeScalerQueue::Size ( ) const

Definition at line 144 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 76 of file TScalerQueue.cxx.

References fStatusUpdateOn, and StatusUpdate().

◆ StatusUpdate()

void TDeadtimeScalerQueue::StatusUpdate ( )
private

◆ Stop()

void TDeadtimeScalerQueue::Stop ( )
inline

Definition at line 80 of file TScalerQueue.h.

References fStop.

◆ StopStatusUpdate()

void TDeadtimeScalerQueue::StopStatusUpdate ( )

Stops the status update

Definition at line 85 of file TScalerQueue.cxx.

References fStatusUpdateOn.

Member Data Documentation

◆ All

std::mutex TDeadtimeScalerQueue::All
static

Definition at line 60 of file TScalerQueue.h.

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

◆ fDeadtimeScalerQueue

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

Definition at line 38 of file TScalerQueue.h.

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

◆ fDeadtimeScalerQueueClassPointer

TDeadtimeScalerQueue * TDeadtimeScalerQueue::fDeadtimeScalerQueueClassPointer = nullptr
staticprivate

Definition at line 36 of file TScalerQueue.h.

Referenced by TDeadtimeScalerQueue(), and Get().

◆ fScalerIdMap

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

Definition at line 55 of file TScalerQueue.h.

◆ fScalersIn

int TDeadtimeScalerQueue::fScalersIn {0}
private

Definition at line 46 of file TScalerQueue.h.

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

◆ fScalersInQueue

int TDeadtimeScalerQueue::fScalersInQueue {0}
private

Definition at line 39 of file TScalerQueue.h.

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

◆ fScalersOut

int TDeadtimeScalerQueue::fScalersOut {0}
private

Definition at line 47 of file TScalerQueue.h.

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

◆ fStatusUpdateOn

bool TDeadtimeScalerQueue::fStatusUpdateOn {false}
private

Definition at line 42 of file TScalerQueue.h.

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

◆ fStop

bool TDeadtimeScalerQueue::fStop {false}
private

Definition at line 44 of file TScalerQueue.h.

Referenced by Running(), and Stop().

◆ fStopwatch

TStopwatch* TDeadtimeScalerQueue::fStopwatch {nullptr}
private

Definition at line 49 of file TScalerQueue.h.

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

◆ fTotalScalersIn

unsigned int TDeadtimeScalerQueue::fTotalScalersIn {0}
private

Definition at line 52 of file TScalerQueue.h.

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

◆ fTotalScalersOut

unsigned int TDeadtimeScalerQueue::fTotalScalersOut {0}
private

Definition at line 53 of file TScalerQueue.h.

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

◆ Sorted

std::mutex TDeadtimeScalerQueue::Sorted
static

Definition at line 61 of file TScalerQueue.h.

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