CbmRoot
|
Timeslice unpacker FairTask for Spadic v.2.2 . More...
#include <CbmMcbm2018UnpackerTaskTrdR.h>
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... | |
CbmMcbm2018UnpackerAlgoTrdR * | fUnpackerAlgo |
Processing algo. More... | |
Timeslice unpacker FairTask for Spadic v.2.2 .
Definition at line 24 of file CbmMcbm2018UnpackerTaskTrdR.h.
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR | ( | ) |
Default Constructor
Definition at line 14 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo.
|
virtual |
Definition at line 33 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo.
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR | ( | const CbmMcbm2018UnpackerTaskTrdR & | ) |
Copy Constructor
|
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.
|
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().
|
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().
|
virtual |
Registers output-data containers at the FairRootManager.
Called in CbmMcbm2018Source::Init() .
Register Digi output vector.
Register RawMessage output vector, if DebugWrite is enabled.
Implements CbmMcbmUnpack.
Definition at line 37 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fbDebugWriteOutput, fbWriteOutput, fdMsSizeInNs, fIsFirstChannelsElinkEven, fSpadicInfoMsgVector, fTrdDigiVector, fTrdRawMessageVector, fUnpackerAlgo, CbmMcbm2018UnpackerAlgoTrdR::Init(), CbmMcbm2018UnpackerAlgoTrdR::SetDigiOutputPointer(), CbmMcbm2018UnpackerAlgoTrdR::SetFirstChannelsElinkEven(), CbmMcbm2018UnpackerAlgoTrdR::SetMsSizeInNs(), and CbmMcbm2018UnpackerAlgoTrdR::SetRawOutputPointer().
|
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().
CbmMcbm2018UnpackerTaskTrdR CbmMcbm2018UnpackerTaskTrdR::operator= | ( | const CbmMcbm2018UnpackerTaskTrdR & | ) |
Assignment Operator
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 221 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::ReInitContainers().
|
virtual |
Called in CbmMcbm2018Source::Reset()
Implements CbmMcbmUnpack.
Definition at line 103 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fSpadicInfoMsgVector, fTrdDigiVector, fTrdRawMessageVector, fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::Reset().
|
inline |
Definition at line 89 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fIsActiveHistoVec.
|
inline |
Call this when Spadic Average-Baseline feature is enabled.
Definition at line 87 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbBaselineAvg.
|
inline |
Definition at line 71 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugMonitorMode.
|
inline |
Definition at line 78 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugSortOutput.
|
inline |
Definition at line 75 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugWriteOutput.
|
inline |
Definition at line 100 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fIsFirstChannelsElinkEven.
void CbmMcbm2018UnpackerTaskTrdR::SetHistoFileName | ( | TString | filename | ) |
Definition at line 247 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fMonitorHistoFileName, and SetMonitorMode().
void CbmMcbm2018UnpackerTaskTrdR::SetIgnoreOverlapMs | ( | Bool_t | bFlagIn = kTRUE | ) |
Definition at line 256 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmStar2019Algo< T >::SetIgnoreOverlapMs().
|
inline |
Definition at line 70 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbMonitorMode.
Referenced by SetHistoFileName().
|
inline |
Definition at line 94 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fdMsSizeInNs.
|
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().
|
virtual |
Called in CbmMcbm2018Source::SetParUnpackers()
Implements CbmMcbmUnpack.
Definition at line 145 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::GetParList().
|
inline |
Definition at line 81 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fSystemIdentifier.
void CbmMcbm2018UnpackerTaskTrdR::SetTimeOffsetNs | ( | Double_t | dOffsetIn = 0.0 | ) |
Definition at line 252 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::SetTimeOffsetNs().
|
inline |
Definition at line 74 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbWriteOutput.
|
private |
Set to true if Baseline Averaging is activated in Spadic.
Definition at line 117 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetBaselineAvg().
|
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().
|
private |
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().
|
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().
|
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().
|
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().
|
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().
|
private |
Definition at line 128 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetActiveHistograms().
|
private |
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().
|
private |
Definition at line 127 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Finish(), and SetHistoFileName().
|
private |
vector< pair< fulltime, word > >
Definition at line 137 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
by default set to: fles::SubsystemIdentifier::TRD, changable via setter
Definition at line 119 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by AddMsComponentToList(), and SetSystemIdentifier().
|
private |
Output Digi vector.
Definition at line 131 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
Output Spadic raw messages for debugging.
Definition at line 134 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
Processing algo.
Definition at line 140 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by AddMsComponentToList(), CbmMcbm2018UnpackerTaskTrdR(), DoUnpack(), Finish(), Init(), InitContainers(), ReInitContainers(), Reset(), SetIgnoreOverlapMs(), SetNbMsInTs(), SetParContainers(), SetTimeOffsetNs(), and ~CbmMcbm2018UnpackerTaskTrdR().