CbmRoot
CbmMcbm2018UnpackerTaskTrdR Class Reference

Timeslice unpacker FairTask for Spadic v.2.2 . More...

#include <CbmMcbm2018UnpackerTaskTrdR.h>

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

Public Member Functions

 CbmMcbm2018UnpackerTaskTrdR ()
 
virtual ~CbmMcbm2018UnpackerTaskTrdR ()
 
 CbmMcbm2018UnpackerTaskTrdR (const CbmMcbm2018UnpackerTaskTrdR &)
 
CbmMcbm2018UnpackerTaskTrdR operator= (const CbmMcbm2018UnpackerTaskTrdR &)
 
virtual Bool_t Init ()
 Registers output-data containers at the FairRootManager. More...
 
virtual Bool_t DoUnpack (const fles::Timeslice &ts, size_t component)
 
virtual void Reset ()
 
virtual void Finish ()
 
virtual void SetParContainers ()
 
virtual Bool_t InitContainers ()
 
virtual Bool_t ReInitContainers ()
 
virtual void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 Adds an input component to the list of active components for this unpacker. More...
 
virtual void SetNbMsInTs (size_t uCoreMsNb, size_t uOverlapMsNb)
 Sets numbers of Core Microslices and overlap Microslices per Timeslice. More...
 
void SetMonitorMode (Bool_t bFlagIn=kTRUE)
 
void SetDebugMonitorMode (Bool_t bFlagIn=kTRUE)
 
void SetWriteOutput (Bool_t bFlagIn=kTRUE)
 
void SetDebugWriteOutput (Bool_t bFlagIn=kTRUE)
 
void SetDebugSortOutput (Bool_t bFlagIn=kTRUE)
 
void SetSystemIdentifier (std::uint8_t id)
 
void SetTimeOffsetNs (Double_t dOffsetIn=0.0)
 
void SetBaselineAvg (Bool_t bFlagIn=kTRUE)
 Call this when Spadic Average-Baseline feature is enabled. More...
 
void SetActiveHistograms (std::vector< bool > isActiveHistoVec)
 
void SetHistoFileName (TString filename)
 
void SetMsSizeInNs (Double_t msSizeInNs)
 
void SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE)
 
void SetFirstChannelsElinkEven (bool isEven)
 

Private Attributes

Bool_t fbMonitorMode
 < Set wether channels 00..15 are on the even (true) or the odd (false and default) elink More...
 
Bool_t fbDebugMonitorMode
 Switch ON the filling of a additional set of histograms. More...
 
Bool_t fbWriteOutput
 If ON the output Vector of digis is written to disk. More...
 
Bool_t fbDebugWriteOutput
 If ON the output vector of raw messages is filled and written to disk. More...
 
Bool_t fbDebugSortOutput
 If ON the output vector of raw messages is sorted in time. More...
 
Bool_t fbBaselineAvg
 Set to true if Baseline Averaging is activated in Spadic. More...
 
std::uint8_t fSystemIdentifier
 by default set to: fles::SubsystemIdentifier::TRD, changable via setter More...
 
Double_t fdMsSizeInNs
 microslice size in ns to be passed to the unpacker // TODO handle this with asic parameter files More...
 
bool fIsFirstChannelsElinkEven
 define if the first 16 channels (00..15) are found on the even (set true) or odd (false) eLinkId, default for mCbm2020 is false thus, initialized as false More...
 
TString fMonitorHistoFileName
 
std::vector< bool > fIsActiveHistoVec
 
std::vector< CbmTrdDigi > * fTrdDigiVector
 Output Digi vector. More...
 
std::vector< CbmTrdRawMessageSpadic > * fTrdRawMessageVector
 Output Spadic raw messages for debugging. More...
 
std::vector< std::pair< std::uint64_t, std::uint64_t > > * fSpadicInfoMsgVector
 vector< pair< fulltime, word > > More...
 
CbmMcbm2018UnpackerAlgoTrdRfUnpackerAlgo
 Processing algo. More...
 

Detailed Description

Timeslice unpacker FairTask for Spadic v.2.2 .

Definition at line 24 of file CbmMcbm2018UnpackerTaskTrdR.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018UnpackerTaskTrdR() [1/2]

CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR ( )

Default Constructor

Definition at line 14 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fUnpackerAlgo.

◆ ~CbmMcbm2018UnpackerTaskTrdR()

CbmMcbm2018UnpackerTaskTrdR::~CbmMcbm2018UnpackerTaskTrdR ( )
virtual

Definition at line 33 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fUnpackerAlgo.

◆ CbmMcbm2018UnpackerTaskTrdR() [2/2]

CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR ( const CbmMcbm2018UnpackerTaskTrdR )

Copy Constructor

Member Function Documentation

◆ AddMsComponentToList()

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

Adds an input component to the list of active components for this unpacker.

Implements CbmMcbmUnpack.

Definition at line 230 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References CbmMcbm2018UnpackerAlgoTrdR::AddMsComponentToList(), fSystemIdentifier, and fUnpackerAlgo.

◆ DoUnpack()

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

Called in CbmMcbm2018Source::FillBuffer() for each timesclice

Call the Algorithm to unpack the given TS.

Implements CbmMcbmUnpack.

Definition at line 87 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::ProcessTs().

◆ Finish()

void CbmMcbm2018UnpackerTaskTrdR::Finish ( )
virtual

Obtain vector of pointers on each histo from the algo (+ optionally desired folder)

(Re-)Create ROOT file to store the histos

Write all the histograms to the file.

Implements CbmMcbmUnpack.

Definition at line 110 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fbDebugMonitorMode, fbMonitorMode, CbmMcbm2018UnpackerAlgoTrdR::Finish(), fMonitorHistoFileName, fUnpackerAlgo, and CbmStar2019Algo< T >::GetHistoVector().

◆ Init()

Bool_t CbmMcbm2018UnpackerTaskTrdR::Init ( )
virtual

◆ InitContainers()

Bool_t CbmMcbm2018UnpackerTaskTrdR::InitContainers ( )
virtual

Hand over control flags to the algorithm.

If monitor mode enabled, trigger histos creation, obtain pointer on them and add them to the HTTP server.

Trigger Histo creation in the algo.

Obtain vector of pointers on each histo from the algo (+ optionally desired folder).

Register the histos in the HTTP server

Avoid crash in other unpackers due to the FAIRROOT "feature" that a 0 return value goes on with the run without initializing tasks which are later in the alphabetical order

Reimplemented from CbmMcbmUnpack.

Definition at line 169 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References CbmMcbm2018UnpackerAlgoTrdR::CreateHistograms(), fbBaselineAvg, fbDebugMonitorMode, fbDebugSortOutput, fbDebugWriteOutput, fbMonitorMode, fbWriteOutput, fIsActiveHistoVec, fUnpackerAlgo, CbmStar2019Algo< T >::GetHistoVector(), CbmMcbm2018UnpackerAlgoTrdR::InitContainers(), CbmMcbm2018UnpackerAlgoTrdR::SetActiveHistograms(), CbmMcbm2018UnpackerAlgoTrdR::SetBaselineAvg(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugMonitorMode(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugSortOutput(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugWriteOutput(), CbmMcbm2018UnpackerAlgoTrdR::SetMonitorMode(), and CbmMcbm2018UnpackerAlgoTrdR::SetWriteOutput().

◆ operator=()

CbmMcbm2018UnpackerTaskTrdR CbmMcbm2018UnpackerTaskTrdR::operator= ( const CbmMcbm2018UnpackerTaskTrdR )

Assignment Operator

◆ ReInitContainers()

Bool_t CbmMcbm2018UnpackerTaskTrdR::ReInitContainers ( )
virtual

◆ Reset()

void CbmMcbm2018UnpackerTaskTrdR::Reset ( )
virtual

◆ SetActiveHistograms()

void CbmMcbm2018UnpackerTaskTrdR::SetActiveHistograms ( std::vector< bool >  isActiveHistoVec)
inline

Definition at line 89 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fIsActiveHistoVec.

◆ SetBaselineAvg()

void CbmMcbm2018UnpackerTaskTrdR::SetBaselineAvg ( Bool_t  bFlagIn = kTRUE)
inline

Call this when Spadic Average-Baseline feature is enabled.

Definition at line 87 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbBaselineAvg.

◆ SetDebugMonitorMode()

void CbmMcbm2018UnpackerTaskTrdR::SetDebugMonitorMode ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 71 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbDebugMonitorMode.

◆ SetDebugSortOutput()

void CbmMcbm2018UnpackerTaskTrdR::SetDebugSortOutput ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 78 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbDebugSortOutput.

◆ SetDebugWriteOutput()

void CbmMcbm2018UnpackerTaskTrdR::SetDebugWriteOutput ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 75 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbDebugWriteOutput.

◆ SetFirstChannelsElinkEven()

void CbmMcbm2018UnpackerTaskTrdR::SetFirstChannelsElinkEven ( bool  isEven)
inline

Definition at line 100 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fIsFirstChannelsElinkEven.

◆ SetHistoFileName()

void CbmMcbm2018UnpackerTaskTrdR::SetHistoFileName ( TString  filename)

Definition at line 247 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fMonitorHistoFileName, and SetMonitorMode().

◆ SetIgnoreOverlapMs()

void CbmMcbm2018UnpackerTaskTrdR::SetIgnoreOverlapMs ( Bool_t  bFlagIn = kTRUE)

◆ SetMonitorMode()

void CbmMcbm2018UnpackerTaskTrdR::SetMonitorMode ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 70 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbMonitorMode.

Referenced by SetHistoFileName().

◆ SetMsSizeInNs()

void CbmMcbm2018UnpackerTaskTrdR::SetMsSizeInNs ( Double_t  msSizeInNs)
inline

Definition at line 94 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fdMsSizeInNs.

◆ SetNbMsInTs()

void CbmMcbm2018UnpackerTaskTrdR::SetNbMsInTs ( size_t  uCoreMsNb,
size_t  uOverlapMsNb 
)
virtual

Sets numbers of Core Microslices and overlap Microslices per Timeslice.

Implements CbmMcbmUnpack.

Definition at line 241 of file CbmMcbm2018UnpackerTaskTrdR.cxx.

References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::SetNbMsInTs().

◆ SetParContainers()

void CbmMcbm2018UnpackerTaskTrdR::SetParContainers ( )
virtual

◆ SetSystemIdentifier()

void CbmMcbm2018UnpackerTaskTrdR::SetSystemIdentifier ( std::uint8_t  id)
inline

Definition at line 81 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fSystemIdentifier.

◆ SetTimeOffsetNs()

void CbmMcbm2018UnpackerTaskTrdR::SetTimeOffsetNs ( Double_t  dOffsetIn = 0.0)

◆ SetWriteOutput()

void CbmMcbm2018UnpackerTaskTrdR::SetWriteOutput ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 74 of file CbmMcbm2018UnpackerTaskTrdR.h.

References fbWriteOutput.

Member Data Documentation

◆ fbBaselineAvg

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbBaselineAvg
private

Set to true if Baseline Averaging is activated in Spadic.

Definition at line 117 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by InitContainers(), and SetBaselineAvg().

◆ fbDebugMonitorMode

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbDebugMonitorMode
private

Switch ON the filling of a additional set of histograms.

Definition at line 109 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Finish(), InitContainers(), and SetDebugMonitorMode().

◆ fbDebugSortOutput

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbDebugSortOutput
private
Initial value:
=
kTRUE

If ON the output vector of raw messages is sorted in time.

Definition at line 114 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by InitContainers(), and SetDebugSortOutput().

◆ fbDebugWriteOutput

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbDebugWriteOutput
private

If ON the output vector of raw messages is filled and written to disk.

Definition at line 113 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), InitContainers(), and SetDebugWriteOutput().

◆ fbMonitorMode

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbMonitorMode
private

< Set wether channels 00..15 are on the even (true) or the odd (false and default) elink

Switch ON the filling of a minimal set of histograms.

Definition at line 107 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Finish(), InitContainers(), and SetMonitorMode().

◆ fbWriteOutput

Bool_t CbmMcbm2018UnpackerTaskTrdR::fbWriteOutput
private

If ON the output Vector of digis is written to disk.

Definition at line 111 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), InitContainers(), and SetWriteOutput().

◆ fdMsSizeInNs

Double_t CbmMcbm2018UnpackerTaskTrdR::fdMsSizeInNs
private

microslice size in ns to be passed to the unpacker // TODO handle this with asic parameter files

Definition at line 121 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), and SetMsSizeInNs().

◆ fIsActiveHistoVec

std::vector<bool> CbmMcbm2018UnpackerTaskTrdR::fIsActiveHistoVec
private

Definition at line 128 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by InitContainers(), and SetActiveHistograms().

◆ fIsFirstChannelsElinkEven

bool CbmMcbm2018UnpackerTaskTrdR::fIsFirstChannelsElinkEven
private
Initial value:
=
false

define if the first 16 channels (00..15) are found on the even (set true) or odd (false) eLinkId, default for mCbm2020 is false thus, initialized as false

Definition at line 123 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), and SetFirstChannelsElinkEven().

◆ fMonitorHistoFileName

TString CbmMcbm2018UnpackerTaskTrdR::fMonitorHistoFileName
private

Definition at line 127 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Finish(), and SetHistoFileName().

◆ fSpadicInfoMsgVector

std::vector<std::pair<std::uint64_t, std::uint64_t> >* CbmMcbm2018UnpackerTaskTrdR::fSpadicInfoMsgVector
private

vector< pair< fulltime, word > >

Definition at line 137 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), and Reset().

◆ fSystemIdentifier

std::uint8_t CbmMcbm2018UnpackerTaskTrdR::fSystemIdentifier
private

by default set to: fles::SubsystemIdentifier::TRD, changable via setter

Definition at line 119 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by AddMsComponentToList(), and SetSystemIdentifier().

◆ fTrdDigiVector

std::vector<CbmTrdDigi>* CbmMcbm2018UnpackerTaskTrdR::fTrdDigiVector
private

Output Digi vector.

Definition at line 131 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), and Reset().

◆ fTrdRawMessageVector

std::vector<CbmTrdRawMessageSpadic>* CbmMcbm2018UnpackerTaskTrdR::fTrdRawMessageVector
private

Output Spadic raw messages for debugging.

Definition at line 134 of file CbmMcbm2018UnpackerTaskTrdR.h.

Referenced by Init(), and Reset().

◆ fUnpackerAlgo


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