CbmRoot
CbmMcbm2018RawConverterSdpb.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018RawConverterSdpb -----
4 // ----- Created 28.06.2019 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018RawConverterSdpb_H
9 #define CbmMcbm2018RawConverterSdpb_H
10 
11 // Data
12 #include "StsXyterMessage.h"
13 #include "Timeslice.hpp"
14 
15 // CbmRoot
16 #include "CbmMcbmUnpack.h"
17 
18 // C/C++
19 #include <map>
20 #include <vector>
21 
22 class CbmMcbm2018StsPar;
23 
25 public:
26  CbmMcbm2018RawConverterSdpb(UInt_t uNbSdpb = 1);
27 
31 
33 
34  virtual Bool_t Init();
35  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
36  virtual void Reset();
37 
38  virtual void Finish();
39 
40  void SetParContainers();
41 
42  Bool_t InitContainers();
43 
44  Bool_t ReInitContainers();
45 
47  void AddMsComponentToList(size_t component, UShort_t usDetectorId);
48  void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
49 
50  void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE) {
51  fbIgnoreOverlapMs = bFlagIn;
52  }
53 
54 private:
56  TList* fParCList;
58  UInt_t fuNrOfDpbs;
60  std::map<UInt_t, UInt_t>
62 
64  static const Int_t kiMaxNbFlibLinks = 32;
65  static const UInt_t kuBytesPerMessage = 4;
66 
68  std::vector<Bool_t> fvbMaskedComponents;
69 
71  std::vector<size_t> fvMsComponentsList;
72  size_t fuNbCoreMsPerTs;
73  size_t fuNbOverMsPerTs;
74  size_t fuNbMsLoop;
75  Bool_t
77  Double_t fdMsSizeInNs;
78  Double_t
80  Double_t
82 
85  ULong64_t fulCurrentTsIdx;
86  ULong64_t fulCurrentMsIdx;
87  Double_t
89  Double_t
91  Double_t
93  UInt_t fuMsIndex;
94  UInt_t
97  UInt_t
99  UInt_t
101 
103  std::vector<std::vector<stsxyter::Message>*>
105 
106  ClassDef(CbmMcbm2018RawConverterSdpb, 1)
107 };
108 
109 #endif
CbmMcbm2018RawConverterSdpb::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018RawConverterSdpb.h:59
CbmMcbm2018RawConverterSdpb::fuNbCoreMsPerTs
size_t fuNbCoreMsPerTs
Definition: CbmMcbm2018RawConverterSdpb.h:72
CbmMcbm2018RawConverterSdpb::fvbMaskedComponents
std::vector< Bool_t > fvbMaskedComponents
Control flags.
Definition: CbmMcbm2018RawConverterSdpb.h:68
CbmMcbm2018RawConverterSdpb::fdTsCoreSizeInNs
Double_t fdTsCoreSizeInNs
Size of a single MS, [nanoseconds].
Definition: CbmMcbm2018RawConverterSdpb.h:79
CbmMcbm2018RawConverterSdpb
Definition: CbmMcbm2018RawConverterSdpb.h:24
CbmMcbm2018RawConverterSdpb::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018RawConverterSdpb.cxx:129
CbmMcbmUnpack.h
CbmMcbm2018RawConverterSdpb::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018RawConverterSdpb.h:86
CbmMcbm2018RawConverterSdpb::fdTsStartTime
Double_t fdTsStartTime
Definition: CbmMcbm2018RawConverterSdpb.h:88
CbmMcbm2018RawConverterSdpb::fbIgnoreOverlapMs
Bool_t fbIgnoreOverlapMs
Definition: CbmMcbm2018RawConverterSdpb.h:76
CbmMcbm2018RawConverterSdpb::Reset
virtual void Reset()
Definition: CbmMcbm2018RawConverterSdpb.cxx:261
CbmMcbm2018RawConverterSdpb::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018RawConverterSdpb.h:50
CbmMcbm2018RawConverterSdpb::operator=
CbmMcbm2018RawConverterSdpb operator=(const CbmMcbm2018RawConverterSdpb &)=delete
CbmMcbm2018RawConverterSdpb::fdTsFullSizeInNs
Double_t fdTsFullSizeInNs
Total size of the core MS in a TS, [nanoseconds].
Definition: CbmMcbm2018RawConverterSdpb.h:81
CbmMcbm2018RawConverterSdpb::fuMsIndex
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
Definition: CbmMcbm2018RawConverterSdpb.h:93
CbmMcbm2018RawConverterSdpb::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018RawConverterSdpb.cxx:57
CbmMcbm2018RawConverterSdpb::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018RawConverterSdpb.cxx:143
CbmMcbm2018RawConverterSdpb::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018RawConverterSdpb.h:96
CbmMcbm2018RawConverterSdpb::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
Total size of the core MS in a TS, [nanoseconds].
Definition: CbmMcbm2018RawConverterSdpb.h:85
CbmMcbm2018RawConverterSdpb::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018RawConverterSdpb.h:98
CbmMcbm2018RawConverterSdpb::fdTsStopTimeCore
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
Definition: CbmMcbm2018RawConverterSdpb.h:90
CbmMcbm2018RawConverterSdpb::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
Map of DPB Identifier to DPB index.
Definition: CbmMcbm2018RawConverterSdpb.h:64
CbmMcbm2018RawConverterSdpb::CbmMcbm2018RawConverterSdpb
CbmMcbm2018RawConverterSdpb(UInt_t uNbSdpb=1)
Definition: CbmMcbm2018RawConverterSdpb.cxx:23
CbmMcbm2018RawConverterSdpb::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018RawConverterSdpb.h:48
CbmMcbm2018RawConverterSdpb::CbmMcbm2018RawConverterSdpb
CbmMcbm2018RawConverterSdpb(const CbmMcbm2018RawConverterSdpb &)=delete
CbmMcbm2018RawConverterSdpb::fDpbIdIndexMap
std::map< UInt_t, UInt_t > fDpbIdIndexMap
Total number of sDPBs to convert.
Definition: CbmMcbm2018RawConverterSdpb.h:61
StsXyterMessage.h
CbmMcbm2018RawConverterSdpb::Init
virtual Bool_t Init()
Definition: CbmMcbm2018RawConverterSdpb.cxx:50
CbmMcbm2018StsPar
Definition: CbmMcbm2018StsPar.h:18
CbmMcbm2018RawConverterSdpb::fParCList
TList * fParCList
Settings from parameter file.
Definition: CbmMcbm2018RawConverterSdpb.h:56
CbmMcbm2018RawConverterSdpb::fdMsTime
Double_t fdMsTime
End Time in ns of current TS Core from the index of the first MS first component.
Definition: CbmMcbm2018RawConverterSdpb.h:92
CbmMcbm2018RawConverterSdpb::Finish
virtual void Finish()
Definition: CbmMcbm2018RawConverterSdpb.cxx:266
CbmMcbm2018RawConverterSdpb::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018RawConverterSdpb.cxx:123
CbmMcbm2018RawConverterSdpb::fuNbOverMsPerTs
size_t fuNbOverMsPerTs
Definition: CbmMcbm2018RawConverterSdpb.h:73
CbmMcbm2018RawConverterSdpb::fvSdpbMessages
std::vector< std::vector< stsxyter::Message > * > fvSdpbMessages
Index of the DPB from which the MS currently unpacked is coming.
Definition: CbmMcbm2018RawConverterSdpb.h:104
CbmMcbm2018RawConverterSdpb::fvMsComponentsList
std::vector< size_t > fvMsComponentsList
Parameters related to FLES containers.
Definition: CbmMcbm2018RawConverterSdpb.h:71
CbmMcbm2018RawConverterSdpb::~CbmMcbm2018RawConverterSdpb
virtual ~CbmMcbm2018RawConverterSdpb()
Definition: CbmMcbm2018RawConverterSdpb.cxx:48
CbmMcbm2018RawConverterSdpb::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018RawConverterSdpb.cxx:83
CbmMcbm2018RawConverterSdpb::fuCurrDpbIdx
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018RawConverterSdpb.h:100
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018RawConverterSdpb::fdMsSizeInNs
Double_t fdMsSizeInNs
/‍** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **‍/
Definition: CbmMcbm2018RawConverterSdpb.h:77
CbmMcbm2018RawConverterSdpb::fuNbMsLoop
size_t fuNbMsLoop
Definition: CbmMcbm2018RawConverterSdpb.h:74
CbmMcbm2018RawConverterSdpb::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018RawConverterSdpb.h:65
CbmMcbm2018RawConverterSdpb::fUnpackPar
CbmMcbm2018StsPar * fUnpackPar
Definition: CbmMcbm2018RawConverterSdpb.h:57