CbmRoot
|
#include <CbmMcbm2018RawConverterSdpb.h>
Public Member Functions | |
CbmMcbm2018RawConverterSdpb (UInt_t uNbSdpb=1) | |
CbmMcbm2018RawConverterSdpb (const CbmMcbm2018RawConverterSdpb &)=delete | |
CbmMcbm2018RawConverterSdpb | operator= (const CbmMcbm2018RawConverterSdpb &)=delete |
virtual | ~CbmMcbm2018RawConverterSdpb () |
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. More... | |
void | SetNbMsInTs (size_t, size_t) |
void | SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE) |
Private Attributes | |
TList * | fParCList |
Settings from parameter file. More... | |
CbmMcbm2018StsPar * | fUnpackPar |
UInt_t | fuNrOfDpbs |
std::map< UInt_t, UInt_t > | fDpbIdIndexMap |
Total number of sDPBs to convert. More... | |
std::vector< Bool_t > | fvbMaskedComponents |
Control flags. More... | |
std::vector< size_t > | fvMsComponentsList |
Parameters related to FLES containers. More... | |
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 **/ More... | |
Double_t | fdTsCoreSizeInNs |
Size of a single MS, [nanoseconds]. More... | |
Double_t | fdTsFullSizeInNs |
Total size of the core MS in a TS, [nanoseconds]. More... | |
ULong64_t | fulCurrentTsIdx |
Total size of the core MS in a TS, [nanoseconds]. More... | |
ULong64_t | fulCurrentMsIdx |
Double_t | fdTsStartTime |
Double_t | fdTsStopTimeCore |
Time in ns of current TS from the index of the first MS first component. More... | |
Double_t | fdMsTime |
End Time in ns of current TS Core from the index of the first MS first component. More... | |
UInt_t | fuMsIndex |
Start Time in ns of current MS from its index field in header. More... | |
UInt_t | fuCurrentEquipmentId |
UInt_t | fuCurrDpbId |
Current equipment ID, tells from which DPB the current MS is originating. More... | |
UInt_t | fuCurrDpbIdx |
Temp holder until Current equipment ID is properly filled in MS. More... | |
std::vector< std::vector< stsxyter::Message > * > | fvSdpbMessages |
Index of the DPB from which the MS currently unpacked is coming. More... | |
Static Private Attributes | |
static const Int_t | kiMaxNbFlibLinks = 32 |
Map of DPB Identifier to DPB index. More... | |
static const UInt_t | kuBytesPerMessage = 4 |
Definition at line 24 of file CbmMcbm2018RawConverterSdpb.h.
CbmMcbm2018RawConverterSdpb::CbmMcbm2018RawConverterSdpb | ( | UInt_t | uNbSdpb = 1 | ) |
Definition at line 23 of file CbmMcbm2018RawConverterSdpb.cxx.
|
delete |
|
virtual |
Definition at line 48 of file CbmMcbm2018RawConverterSdpb.cxx.
|
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 129 of file CbmMcbm2018RawConverterSdpb.cxx.
References fvMsComponentsList.
|
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)
Check if this sDPB ID was declared in parameter file and stop there if not
If first TS being analyzed, we are probably detecting STS/MUCH boards with same sysid => Do not report the MS as bad, just ignore it
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
Store the message in the output vector ==> This message is not context free and needs previous ones to be interpreted!!!
Implements CbmMcbmUnpack.
Definition at line 143 of file CbmMcbm2018RawConverterSdpb.cxx.
References fbIgnoreOverlapMs, fdMsSizeInNs, fDpbIdIndexMap, fdTsCoreSizeInNs, fdTsFullSizeInNs, fdTsStartTime, fdTsStopTimeCore, FormatMsHeaderPrintout(), fuCurrDpbId, fuCurrDpbIdx, fuCurrentEquipmentId, fulCurrentMsIdx, fulCurrentTsIdx, fuMsIndex, fuNbCoreMsPerTs, fuNbMsLoop, fuNbOverMsPerTs, fvbMaskedComponents, fvMsComponentsList, fvSdpbMessages, and kuBytesPerMessage.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 266 of file CbmMcbm2018RawConverterSdpb.cxx.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 50 of file CbmMcbm2018RawConverterSdpb.cxx.
|
virtual |
Control flags
Initialize and register output arrays with the FairRoot IO manager
Reimplemented from CbmMcbmUnpack.
Definition at line 83 of file CbmMcbm2018RawConverterSdpb.cxx.
References fDpbIdIndexMap, fUnpackPar, fuNrOfDpbs, fvSdpbMessages, CbmMcbm2018StsPar::GetDpbId(), and CbmMcbm2018StsPar::GetNrOfDpbs().
|
delete |
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 123 of file CbmMcbm2018RawConverterSdpb.cxx.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 261 of file CbmMcbm2018RawConverterSdpb.cxx.
References fuNrOfDpbs, and fvSdpbMessages.
|
inline |
Definition at line 50 of file CbmMcbm2018RawConverterSdpb.h.
References fbIgnoreOverlapMs.
|
inlinevirtual |
Implements CbmMcbmUnpack.
Definition at line 48 of file CbmMcbm2018RawConverterSdpb.h.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 57 of file CbmMcbm2018RawConverterSdpb.cxx.
References fParCList, and fUnpackPar.
|
private |
Definition at line 76 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack(), and SetIgnoreOverlapMs().
|
private |
/** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **/
Definition at line 77 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
End Time in ns of current TS Core from the index of the first MS first component.
Definition at line 92 of file CbmMcbm2018RawConverterSdpb.h.
|
private |
Total number of sDPBs to convert.
Definition at line 61 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack(), and InitContainers().
|
private |
Size of a single MS, [nanoseconds].
Definition at line 79 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Total size of the core MS in a TS, [nanoseconds].
Definition at line 81 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 88 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Time in ns of current TS from the index of the first MS first component.
Definition at line 90 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Settings from parameter file.
Definition at line 56 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by SetParContainers().
|
private |
Current equipment ID, tells from which DPB the current MS is originating.
Definition at line 98 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Temp holder until Current equipment ID is properly filled in MS.
Definition at line 100 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Index of current MS within the TS Current data properties
Definition at line 96 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 86 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Total size of the core MS in a TS, [nanoseconds].
Running indices TS/MS info
Definition at line 85 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Start Time in ns of current MS from its index field in header.
Definition at line 93 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 72 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 74 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 73 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 57 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by InitContainers(), and SetParContainers().
|
private |
Readout chain dimensions and mapping
Definition at line 59 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by InitContainers(), and Reset().
|
private |
Control flags.
Definition at line 68 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().
|
private |
Parameters related to FLES containers.
Definition at line 71 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by AddMsComponentToList(), and DoUnpack().
|
private |
Index of the DPB from which the MS currently unpacked is coming.
Output vector
Definition at line 104 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack(), InitContainers(), and Reset().
|
staticprivate |
Map of DPB Identifier to DPB index.
Constants
Definition at line 64 of file CbmMcbm2018RawConverterSdpb.h.
|
staticprivate |
Definition at line 65 of file CbmMcbm2018RawConverterSdpb.h.
Referenced by DoUnpack().