CbmRoot
CbmMcbm2018RawConverterGdpb.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018RawConverterGdpb -----
4 // ----- Created 01.07.2019 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018RawConverterGdpb_H
9 #define CbmMcbm2018RawConverterGdpb_H
10 
11 // Data
12 #include "Timeslice.hpp"
13 #include "gDpbMessv100.h"
14 
15 // CbmRoot
16 #include "CbmMcbmUnpack.h"
17 
18 // C/C++
19 #include <map>
20 #include <vector>
21 
22 class CbmMcbm2018TofPar;
23 
25 public:
26  CbmMcbm2018RawConverterGdpb(UInt_t uNbGdpb = 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 = 8;
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<gdpbv100::Message>*>
105 
106  ClassDef(CbmMcbm2018RawConverterGdpb, 1)
107 };
108 
109 #endif
CbmMcbm2018RawConverterGdpb::Init
virtual Bool_t Init()
Definition: CbmMcbm2018RawConverterGdpb.cxx:50
CbmMcbm2018RawConverterGdpb::fuNbOverMsPerTs
size_t fuNbOverMsPerTs
Definition: CbmMcbm2018RawConverterGdpb.h:73
CbmMcbm2018RawConverterGdpb::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018RawConverterGdpb.h:98
CbmMcbm2018RawConverterGdpb::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018RawConverterGdpb.h:96
CbmMcbm2018RawConverterGdpb::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018RawConverterGdpb.h:86
CbmMcbm2018RawConverterGdpb::fuNbMsLoop
size_t fuNbMsLoop
Definition: CbmMcbm2018RawConverterGdpb.h:74
CbmMcbm2018RawConverterGdpb::fvMsComponentsList
std::vector< size_t > fvMsComponentsList
Parameters related to FLES containers.
Definition: CbmMcbm2018RawConverterGdpb.h:71
CbmMcbm2018RawConverterGdpb::fdMsTime
Double_t fdMsTime
End Time in ns of current TS Core from the index of the first MS first component.
Definition: CbmMcbm2018RawConverterGdpb.h:92
CbmMcbm2018RawConverterGdpb::fvbMaskedComponents
std::vector< Bool_t > fvbMaskedComponents
Control flags.
Definition: CbmMcbm2018RawConverterGdpb.h:68
CbmMcbmUnpack.h
CbmMcbm2018RawConverterGdpb::fUnpackPar
CbmMcbm2018TofPar * fUnpackPar
Definition: CbmMcbm2018RawConverterGdpb.h:57
CbmMcbm2018RawConverterGdpb::fdMsSizeInNs
Double_t fdMsSizeInNs
/‍** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **‍/
Definition: CbmMcbm2018RawConverterGdpb.h:77
CbmMcbm2018RawConverterGdpb::fdTsStopTimeCore
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
Definition: CbmMcbm2018RawConverterGdpb.h:90
CbmMcbm2018RawConverterGdpb::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018RawConverterGdpb.cxx:123
CbmMcbm2018RawConverterGdpb::fParCList
TList * fParCList
Settings from parameter file.
Definition: CbmMcbm2018RawConverterGdpb.h:56
CbmMcbm2018RawConverterGdpb::fdTsFullSizeInNs
Double_t fdTsFullSizeInNs
Total size of the core MS in a TS, [nanoseconds].
Definition: CbmMcbm2018RawConverterGdpb.h:81
CbmMcbm2018RawConverterGdpb::CbmMcbm2018RawConverterGdpb
CbmMcbm2018RawConverterGdpb(const CbmMcbm2018RawConverterGdpb &)=delete
CbmMcbm2018RawConverterGdpb::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018RawConverterGdpb.cxx:83
CbmMcbm2018RawConverterGdpb::Finish
virtual void Finish()
Definition: CbmMcbm2018RawConverterGdpb.cxx:269
CbmMcbm2018RawConverterGdpb::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018RawConverterGdpb.h:59
CbmMcbm2018RawConverterGdpb::fvGdpbMessages
std::vector< std::vector< gdpbv100::Message > * > fvGdpbMessages
Index of the DPB from which the MS currently unpacked is coming.
Definition: CbmMcbm2018RawConverterGdpb.h:104
CbmMcbm2018RawConverterGdpb::operator=
CbmMcbm2018RawConverterGdpb operator=(const CbmMcbm2018RawConverterGdpb &)=delete
CbmMcbm2018RawConverterGdpb::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018RawConverterGdpb.cxx:129
CbmMcbm2018RawConverterGdpb::fuMsIndex
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
Definition: CbmMcbm2018RawConverterGdpb.h:93
CbmMcbm2018RawConverterGdpb::Reset
virtual void Reset()
Definition: CbmMcbm2018RawConverterGdpb.cxx:264
CbmMcbm2018RawConverterGdpb::fdTsStartTime
Double_t fdTsStartTime
Definition: CbmMcbm2018RawConverterGdpb.h:88
CbmMcbm2018RawConverterGdpb::fuCurrDpbIdx
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018RawConverterGdpb.h:100
CbmMcbm2018RawConverterGdpb::~CbmMcbm2018RawConverterGdpb
virtual ~CbmMcbm2018RawConverterGdpb()
Definition: CbmMcbm2018RawConverterGdpb.cxx:48
CbmMcbm2018RawConverterGdpb::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
Total size of the core MS in a TS, [nanoseconds].
Definition: CbmMcbm2018RawConverterGdpb.h:85
CbmMcbm2018RawConverterGdpb
Definition: CbmMcbm2018RawConverterGdpb.h:24
CbmMcbm2018RawConverterGdpb::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
Map of DPB Identifier to DPB index.
Definition: CbmMcbm2018RawConverterGdpb.h:64
CbmMcbm2018RawConverterGdpb::fDpbIdIndexMap
std::map< UInt_t, UInt_t > fDpbIdIndexMap
Total number of gDPBs to convert.
Definition: CbmMcbm2018RawConverterGdpb.h:61
CbmMcbm2018RawConverterGdpb::fuNbCoreMsPerTs
size_t fuNbCoreMsPerTs
Definition: CbmMcbm2018RawConverterGdpb.h:72
gDpbMessv100.h
CbmMcbm2018TofPar
Definition: CbmMcbm2018TofPar.h:18
CbmMcbm2018RawConverterGdpb::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018RawConverterGdpb.h:50
CbmMcbm2018RawConverterGdpb::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018RawConverterGdpb.cxx:143
CbmMcbm2018RawConverterGdpb::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018RawConverterGdpb.h:65
CbmMcbm2018RawConverterGdpb::fdTsCoreSizeInNs
Double_t fdTsCoreSizeInNs
Size of a single MS, [nanoseconds].
Definition: CbmMcbm2018RawConverterGdpb.h:79
CbmMcbm2018RawConverterGdpb::CbmMcbm2018RawConverterGdpb
CbmMcbm2018RawConverterGdpb(UInt_t uNbGdpb=1)
Definition: CbmMcbm2018RawConverterGdpb.cxx:23
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018RawConverterGdpb::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018RawConverterGdpb.cxx:57
CbmMcbm2018RawConverterGdpb::fbIgnoreOverlapMs
Bool_t fbIgnoreOverlapMs
Definition: CbmMcbm2018RawConverterGdpb.h:76
CbmMcbm2018RawConverterGdpb::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018RawConverterGdpb.h:48