CbmRoot
Loading...
Searching...
No Matches
CbmCriGet4RawPrint Class Reference

#include <CbmCriGet4RawPrint.h>

Inheritance diagram for CbmCriGet4RawPrint:
[legend]
Collaboration diagram for CbmCriGet4RawPrint:
[legend]

Public Member Functions

 CbmCriGet4RawPrint ()
 
 CbmCriGet4RawPrint (const CbmCriGet4RawPrint &)=delete
 
CbmCriGet4RawPrint operator= (const CbmCriGet4RawPrint &)=delete
 
virtual ~CbmCriGet4RawPrint ()
 
virtual Bool_t Init ()
 
virtual Bool_t DoUnpack (const fles::Timeslice &ts, size_t component)
 
virtual void Reset ()
 
virtual void Finish ()
 
void SetParContainers ()
 
Bool_t InitContainers ()
 
Bool_t ReInitContainers ()
 
void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 Temp until we change from CbmMcbmUnpack to something else.
 
void SetNbMsInTs (size_t, size_t)
 
void SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE)
 

Private Attributes

std::vector< size_t > fvMsComponentsList
 Parameters related to FLES containers.
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
size_t fuNbMsLoop
 
Bool_t fbIgnoreOverlapMs
 
Double_t fdMsSizeInNs
 /‍** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **‍/
 
Double_t fdTsCoreSizeInNs
 Size of a single MS, [nanoseconds].
 
Double_t fdTsFullSizeInNs
 Total size of the core MS in a TS, [nanoseconds].
 
ULong64_t fulCurrentTsIdx
 Total size of the core MS in a TS, [nanoseconds].
 
ULong64_t fulCurrentMsIdx
 
Double_t fdTsStartTime
 
Double_t fdTsStopTimeCore
 Time in ns of current TS from the index of the first MS first component.
 
Double_t fdMsTime
 End Time in ns of current TS Core from the index of the first MS first component.
 
UInt_t fuMsIndex
 Start Time in ns of current MS from its index field in header.
 
UInt_t fuCurrentEquipmentId
 

Static Private Attributes

static const Int_t kiMaxNbFlibLinks = 32
 Constants.
 
static const UInt_t kuBytesPerMessage = 8
 

Detailed Description

Definition at line 22 of file CbmCriGet4RawPrint.h.

Constructor & Destructor Documentation

◆ CbmCriGet4RawPrint() [1/2]

CbmCriGet4RawPrint::CbmCriGet4RawPrint ( )

Definition at line 18 of file CbmCriGet4RawPrint.cxx.

◆ CbmCriGet4RawPrint() [2/2]

CbmCriGet4RawPrint::CbmCriGet4RawPrint ( const CbmCriGet4RawPrint & )
delete

◆ ~CbmCriGet4RawPrint()

CbmCriGet4RawPrint::~CbmCriGet4RawPrint ( )
virtual

Definition at line 37 of file CbmCriGet4RawPrint.cxx.

Member Function Documentation

◆ AddMsComponentToList()

void CbmCriGet4RawPrint::AddMsComponentToList ( size_t component,
UShort_t usDetectorId )
virtual

Temp until we change from CbmMcbmUnpack to something else.

Check for duplicates and ignore if it is the case

Add to list

Implements CbmMcbmUnpack.

Definition at line 63 of file CbmCriGet4RawPrint.cxx.

References fvMsComponentsList.

◆ DoUnpack()

Bool_t CbmCriGet4RawPrint::DoUnpack ( const fles::Timeslice & ts,
size_t component )
virtual

Ignore First TS as first MS is typically corrupt

On first TS, extract the TS parameters from header (by definition stable over time)

Ignore overlap ms if flag set by user

Compute time of TS core end

Loop over registered components

Loop over core microslices (and overlap ones if chosen)

Always print the MS header

If not integer number of message in input buffer, print warning/error

Compute the number of complete messages in the input microslice buffer

Prepare variables for the loop on contents

Fill message

TODOD: pick the options!!!

Implements CbmMcbmUnpack.

Definition at line 76 of file CbmCriGet4RawPrint.cxx.

References fbIgnoreOverlapMs, fdMsSizeInNs, fdTsCoreSizeInNs, fdTsFullSizeInNs, fdTsStartTime, fdTsStopTimeCore, FormatMsHeaderPrintout(), fuCurrentEquipmentId, fulCurrentMsIdx, fulCurrentTsIdx, fuMsIndex, fuNbCoreMsPerTs, fuNbMsLoop, fuNbOverMsPerTs, fvMsComponentsList, kuBytesPerMessage, critof001::msg_print_Data, critof001::msg_print_Hex, critof001::msg_print_Prefix, and critof001::Message::printDataCout().

◆ Finish()

void CbmCriGet4RawPrint::Finish ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 303 of file CbmCriGet4RawPrint.cxx.

◆ Init()

Bool_t CbmCriGet4RawPrint::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 39 of file CbmCriGet4RawPrint.cxx.

◆ InitContainers()

Bool_t CbmCriGet4RawPrint::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 49 of file CbmCriGet4RawPrint.cxx.

◆ operator=()

CbmCriGet4RawPrint CbmCriGet4RawPrint::operator= ( const CbmCriGet4RawPrint & )
delete

◆ ReInitContainers()

Bool_t CbmCriGet4RawPrint::ReInitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 56 of file CbmCriGet4RawPrint.cxx.

◆ Reset()

void CbmCriGet4RawPrint::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 301 of file CbmCriGet4RawPrint.cxx.

◆ SetIgnoreOverlapMs()

void CbmCriGet4RawPrint::SetIgnoreOverlapMs ( Bool_t bFlagIn = kTRUE)
inline

Definition at line 47 of file CbmCriGet4RawPrint.h.

References fbIgnoreOverlapMs.

◆ SetNbMsInTs()

void CbmCriGet4RawPrint::SetNbMsInTs ( size_t ,
size_t  )
inlinevirtual

Implements CbmMcbmUnpack.

Definition at line 45 of file CbmCriGet4RawPrint.h.

◆ SetParContainers()

void CbmCriGet4RawPrint::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 47 of file CbmCriGet4RawPrint.cxx.

Member Data Documentation

◆ fbIgnoreOverlapMs

Bool_t CbmCriGet4RawPrint::fbIgnoreOverlapMs
private

Definition at line 59 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack(), and SetIgnoreOverlapMs().

◆ fdMsSizeInNs

Double_t CbmCriGet4RawPrint::fdMsSizeInNs
private

/‍** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **‍/

Definition at line 60 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fdMsTime

Double_t CbmCriGet4RawPrint::fdMsTime
private

End Time in ns of current TS Core from the index of the first MS first component.

Definition at line 70 of file CbmCriGet4RawPrint.h.

◆ fdTsCoreSizeInNs

Double_t CbmCriGet4RawPrint::fdTsCoreSizeInNs
private

Size of a single MS, [nanoseconds].

Definition at line 61 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fdTsFullSizeInNs

Double_t CbmCriGet4RawPrint::fdTsFullSizeInNs
private

Total size of the core MS in a TS, [nanoseconds].

Definition at line 62 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fdTsStartTime

Double_t CbmCriGet4RawPrint::fdTsStartTime
private

Definition at line 68 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fdTsStopTimeCore

Double_t CbmCriGet4RawPrint::fdTsStopTimeCore
private

Time in ns of current TS from the index of the first MS first component.

Definition at line 69 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fuCurrentEquipmentId

UInt_t CbmCriGet4RawPrint::fuCurrentEquipmentId
private

Index of current MS within the TS Current data properties

Definition at line 73 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fulCurrentMsIdx

ULong64_t CbmCriGet4RawPrint::fulCurrentMsIdx
private

Definition at line 67 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fulCurrentTsIdx

ULong64_t CbmCriGet4RawPrint::fulCurrentTsIdx
private

Total size of the core MS in a TS, [nanoseconds].

Running indices TS/MS info

Definition at line 66 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fuMsIndex

UInt_t CbmCriGet4RawPrint::fuMsIndex
private

Start Time in ns of current MS from its index field in header.

Definition at line 71 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fuNbCoreMsPerTs

size_t CbmCriGet4RawPrint::fuNbCoreMsPerTs
private

Definition at line 56 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fuNbMsLoop

size_t CbmCriGet4RawPrint::fuNbMsLoop
private

Definition at line 58 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fuNbOverMsPerTs

size_t CbmCriGet4RawPrint::fuNbOverMsPerTs
private

Definition at line 57 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().

◆ fvMsComponentsList

std::vector<size_t> CbmCriGet4RawPrint::fvMsComponentsList
private

Parameters related to FLES containers.

Definition at line 55 of file CbmCriGet4RawPrint.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ kiMaxNbFlibLinks

const Int_t CbmCriGet4RawPrint::kiMaxNbFlibLinks = 32
staticprivate

Constants.

Definition at line 51 of file CbmCriGet4RawPrint.h.

◆ kuBytesPerMessage

const UInt_t CbmCriGet4RawPrint::kuBytesPerMessage = 8
staticprivate

Definition at line 52 of file CbmCriGet4RawPrint.h.

Referenced by DoUnpack().


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