CbmRoot
|
#include <CbmMcbm2018RawConverterGdpb.h>
Public Member Functions | |
CbmMcbm2018RawConverterGdpb (UInt_t uNbGdpb=1) | |
CbmMcbm2018RawConverterGdpb (const CbmMcbm2018RawConverterGdpb &)=delete | |
CbmMcbm2018RawConverterGdpb | operator= (const CbmMcbm2018RawConverterGdpb &)=delete |
virtual | ~CbmMcbm2018RawConverterGdpb () |
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... | |
CbmMcbm2018TofPar * | fUnpackPar |
UInt_t | fuNrOfDpbs |
std::map< UInt_t, UInt_t > | fDpbIdIndexMap |
Total number of gDPBs 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< gdpbv100::Message > * > | fvGdpbMessages |
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 = 8 |
Definition at line 24 of file CbmMcbm2018RawConverterGdpb.h.
CbmMcbm2018RawConverterGdpb::CbmMcbm2018RawConverterGdpb | ( | UInt_t | uNbGdpb = 1 | ) |
Definition at line 23 of file CbmMcbm2018RawConverterGdpb.cxx.
|
delete |
|
virtual |
Definition at line 48 of file CbmMcbm2018RawConverterGdpb.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 CbmMcbm2018RawConverterGdpb.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 gDPB ID was declared in parameter file and stop there if not
Try to get it from the second message in buffer (first is epoch cycle without gDPB ID) TODO!!!!
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
Catch the Epoch cycle block which is always the first 64b of the MS
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 CbmMcbm2018RawConverterGdpb.cxx.
References fbIgnoreOverlapMs, fdMsSizeInNs, fDpbIdIndexMap, fdTsCoreSizeInNs, fdTsFullSizeInNs, fdTsStartTime, fdTsStopTimeCore, FormatMsHeaderPrintout(), fuCurrDpbId, fuCurrDpbIdx, fuCurrentEquipmentId, fulCurrentMsIdx, fulCurrentTsIdx, fuMsIndex, fuNbCoreMsPerTs, fuNbMsLoop, fuNbOverMsPerTs, fvbMaskedComponents, fvGdpbMessages, fvMsComponentsList, and kuBytesPerMessage.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 269 of file CbmMcbm2018RawConverterGdpb.cxx.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 50 of file CbmMcbm2018RawConverterGdpb.cxx.
|
virtual |
Control flags
Initialize and register output arrays with the FairRoot IO manager
Reimplemented from CbmMcbmUnpack.
Definition at line 83 of file CbmMcbm2018RawConverterGdpb.cxx.
References fDpbIdIndexMap, fUnpackPar, fuNrOfDpbs, fvGdpbMessages, CbmMcbm2018TofPar::GetGdpbId(), and CbmMcbm2018TofPar::GetNrOfGdpbs().
|
delete |
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 123 of file CbmMcbm2018RawConverterGdpb.cxx.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 264 of file CbmMcbm2018RawConverterGdpb.cxx.
References fuNrOfDpbs, and fvGdpbMessages.
|
inline |
Definition at line 50 of file CbmMcbm2018RawConverterGdpb.h.
References fbIgnoreOverlapMs.
|
inlinevirtual |
Implements CbmMcbmUnpack.
Definition at line 48 of file CbmMcbm2018RawConverterGdpb.h.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 57 of file CbmMcbm2018RawConverterGdpb.cxx.
References fParCList, and fUnpackPar.
|
private |
Definition at line 76 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack(), and SetIgnoreOverlapMs().
|
private |
/** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **/
Definition at line 77 of file CbmMcbm2018RawConverterGdpb.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 CbmMcbm2018RawConverterGdpb.h.
|
private |
Total number of gDPBs to convert.
Definition at line 61 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack(), and InitContainers().
|
private |
Size of a single MS, [nanoseconds].
Definition at line 79 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Total size of the core MS in a TS, [nanoseconds].
Definition at line 81 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 88 of file CbmMcbm2018RawConverterGdpb.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 CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Settings from parameter file.
Definition at line 56 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by SetParContainers().
|
private |
Current equipment ID, tells from which DPB the current MS is originating.
Definition at line 98 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Temp holder until Current equipment ID is properly filled in MS.
Definition at line 100 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Index of current MS within the TS Current data properties
Definition at line 96 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 86 of file CbmMcbm2018RawConverterGdpb.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 CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Start Time in ns of current MS from its index field in header.
Definition at line 93 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 72 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 74 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 73 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Definition at line 57 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by InitContainers(), and SetParContainers().
|
private |
Readout chain dimensions and mapping
Definition at line 59 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by InitContainers(), and Reset().
|
private |
Control flags.
Definition at line 68 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().
|
private |
Index of the DPB from which the MS currently unpacked is coming.
Output vector
Definition at line 104 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack(), InitContainers(), and Reset().
|
private |
Parameters related to FLES containers.
Definition at line 71 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by AddMsComponentToList(), and DoUnpack().
|
staticprivate |
Map of DPB Identifier to DPB index.
Constants
Definition at line 64 of file CbmMcbm2018RawConverterGdpb.h.
|
staticprivate |
Definition at line 65 of file CbmMcbm2018RawConverterGdpb.h.
Referenced by DoUnpack().