BmnRoot
Loading...
Searching...
No Matches
BmnDaqBuffer Class Reference

Singleton buffer class for BMN raw data. More...

#include <BmnDaqBuffer.h>

Public Member Functions

 ~BmnDaqBuffer ()
 
Double_t GetFirstTime () const
 
Double_t GetFirstTime (Int_t iDet) const
 
Double_t GetLastTime () const
 
Double_t GetLastTime (Int_t iDet) const
 
BmnDigiGetNextData (Int_t iDet)
 Pointer to next raw data object for a given detector.
 
BmnDigiGetNextData (Int_t iDet, Double_t time)
 
Int_t GetSize () const
 
Int_t GetSize (Int_t det) const
 
void InsertData (BmnDigi *digi)
 
void PrintStatus () const
 
std::string ToString () const
 

Static Public Member Functions

static BmnDaqBufferInstance ()
 

Detailed Description

Singleton buffer class for BMN raw data.

Date
19.12.2018

This class manages and provides access to buffers of type BmnMCPointBuffer - one for each detector.

The BmnDaqBuffer stores and sorts (w.r.t. time) BMN raw data (currently: BmnDigi) transiently. Data can be send to the buffer by the method InsertData. They can be retrieved by GetNextData, which delivers a time-ordered sequence of raw data objects for each detector.

The buffer handles objects only by pointer, i.e. the data have to be instantiated by the sending task (digitiser) and deleted by the receiving class (BmnDaq).

Definition at line 33 of file BmnDaqBuffer.h.

Constructor & Destructor Documentation

◆ ~BmnDaqBuffer()

BmnDaqBuffer::~BmnDaqBuffer ( )

Destructor

Definition at line 40 of file BmnDaqBuffer.cxx.

Member Function Documentation

◆ GetFirstTime() [1/2]

Double_t BmnDaqBuffer::GetFirstTime ( ) const

Time of first data for all detectors

Returns
time of first data [ns]

Definition at line 47 of file BmnDaqBuffer.cxx.

References GetFirstTime(), GetSize(), kNOFDETS, and kREF.

Referenced by GetFirstTime(), PrintStatus(), and ToString().

◆ GetFirstTime() [2/2]

Double_t BmnDaqBuffer::GetFirstTime ( Int_t  iDet) const

Time of first data for a given detector

Parameters
iDetdetector type (e.g. kSSD)
Returns
time of first data [ns]

Definition at line 66 of file BmnDaqBuffer.cxx.

References GetSize(), and kNOFDETS.

◆ GetLastTime() [1/2]

Double_t BmnDaqBuffer::GetLastTime ( ) const

Time of last data for all detectors

Returns
time of last data [ns]

Definition at line 77 of file BmnDaqBuffer.cxx.

References GetLastTime(), GetSize(), kNOFDETS, and kREF.

Referenced by GetLastTime(), PrintStatus(), and ToString().

◆ GetLastTime() [2/2]

Double_t BmnDaqBuffer::GetLastTime ( Int_t  iDet) const

Time of last data for a given detector

Parameters
iDetdetector type (e.g. kSSD)
Returns
time of last data [ns]

Definition at line 96 of file BmnDaqBuffer.cxx.

References GetSize(), and kNOFDETS.

◆ GetNextData() [1/2]

BmnDigi * BmnDaqBuffer::GetNextData ( Int_t  iDet)

Pointer to next raw data object for a given detector.

Parameters
iDetdetector type (DetectorId)
Returns
pointer to raw data object

Definition at line 107 of file BmnDaqBuffer.cxx.

References kNOFDETS.

◆ GetNextData() [2/2]

BmnDigi * BmnDaqBuffer::GetNextData ( Int_t  iDet,
Double_t  time 
)

Pointer to next raw data object for a given detector up to given time

Parameters
iDetdetector type (e.g. kSSD)
timemaximal time [ns]
Returns
pointer to raw data object

If the argument time is negative, no time limit is set.

Definition at line 132 of file BmnDaqBuffer.cxx.

References BmnDigi::GetTime(), and kNOFDETS.

◆ GetSize() [1/2]

Int_t BmnDaqBuffer::GetSize ( ) const

Current buffer size

Returns
number of objects in buffer

Definition at line 160 of file BmnDaqBuffer.cxx.

References kNOFDETS, and kREF.

Referenced by GetFirstTime(), GetFirstTime(), GetLastTime(), GetLastTime(), PrintStatus(), and ToString().

◆ GetSize() [2/2]

Int_t BmnDaqBuffer::GetSize ( Int_t  det) const

Current buffer size for given detector

Parameters
detDetector system (e.g. kSSD)
Returns
number of objects in buffer

Definition at line 173 of file BmnDaqBuffer.cxx.

References kNOFDETS.

◆ InsertData()

void BmnDaqBuffer::InsertData ( BmnDigi digi)

Insert data into the buffer

Parameters
digipointer to data object to be inserted

Definition at line 182 of file BmnDaqBuffer.cxx.

References BmnDigi::GetAddress(), BmnDigi::GetSystemId(), BmnDigi::GetTime(), and kNOFDETS.

Referenced by BmnDigitize::SendDigi().

◆ Instance()

BmnDaqBuffer * BmnDaqBuffer::Instance ( )
static

Access to singleton instance

Returns
pointer to instance

Definition at line 204 of file BmnDaqBuffer.cxx.

◆ PrintStatus()

void BmnDaqBuffer::PrintStatus ( ) const

Print buffer status

Definition at line 213 of file BmnDaqBuffer.cxx.

References GetFirstTime(), GetLastTime(), BmnModuleList::GetModuleNameCaps(), GetSize(), kNOFDETS, and kREF.

◆ ToString()

string BmnDaqBuffer::ToString ( ) const

Status string

Definition at line 236 of file BmnDaqBuffer.cxx.

References GetFirstTime(), GetLastTime(), BmnModuleList::GetModuleNameCaps(), GetSize(), kNOFDETS, and kREF.


The documentation for this class was generated from the following files: