CbmRoot
CbmMcbm2018UnpackerTaskMuch.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018UnpackerTaskMuch -----
4 // ----- Created 02.02.2019 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018UnpackerTaskMuch_H
9 #define CbmMcbm2018UnpackerTaskMuch_H
10 
11 #include "Timeslice.hpp"
12 
13 #include "CbmErrorMessage.h"
14 #include "CbmMcbmUnpack.h"
15 #include "CbmMuchBeamTimeDigi.h"
16 
18 //class TClonesArray;
19 
21  UInt_t uFeb;
22  UInt_t uChan;
23  Bool_t bMasked;
24 };
25 
27 public:
28  CbmMcbm2018UnpackerTaskMuch(UInt_t uNbSdpb = 1);
29 
33 
35 
36  virtual Bool_t Init();
37  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
38  virtual void Reset();
39 
40  virtual void Finish();
41 
42  void SetParContainers();
43 
44  Bool_t InitContainers();
45 
46  Bool_t ReInitContainers();
47 
49  void AddMsComponentToList(size_t component, UShort_t usDetectorId);
50  void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
51 
52  inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) {
53  fbMonitorMode = bFlagIn;
54  }
55  void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
56 
57  void SetTimeOffsetNs(Double_t dOffsetIn = 0.0);
58  void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn = 0.0);
59 
60  void EnableAsicType(Int_t fiFlag = 0);
61 
63  void SetBinningFwFlag(Bool_t bEnable = kTRUE);
64 
66  void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
67  //Masking Noisy Channels
68  void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked = kTRUE);
70  void SetAdcCut(UInt_t uAdc);
71 
72 private:
74  Bool_t
76  Bool_t
78  Bool_t
80 
82  std::vector<MuchFebChanMask> fvChanMasks;
83 
85  uint64_t fulTsCounter;
86 
88  std::vector<CbmMuchBeamTimeDigi>* fpvDigiMuch = nullptr;
89  std::vector<CbmErrorMessage>* fpvErrorMuch = nullptr;
90 
93 
94  ClassDef(CbmMcbm2018UnpackerTaskMuch, 3)
95 };
96 
97 #endif
CbmMcbm2018UnpackerTaskMuch::fpvErrorMuch
std::vector< CbmErrorMessage > * fpvErrorMuch
Definition: CbmMcbm2018UnpackerTaskMuch.h:89
CbmMcbm2018UnpackerTaskMuch::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:66
CbmMcbm2018UnpackerTaskMuch::Finish
virtual void Finish()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:193
CbmMcbm2018UnpackerTaskMuch::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018UnpackerTaskMuch.h:50
CbmMcbm2018UnpackerTaskMuch
Definition: CbmMcbm2018UnpackerTaskMuch.h:26
CbmMcbmUnpack.h
CbmMcbm2018UnpackerTaskMuch::Init
virtual Bool_t Init()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:48
CbmMcbm2018UnpackerTaskMuch::SetAdcCut
void SetAdcCut(UInt_t uAdc)
ADC cut.
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:256
CbmMcbm2018UnpackerTaskMuch::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
Definition: CbmMcbm2018UnpackerTaskMuch.h:77
CbmMcbm2018UnpackerTaskMuch::SetWriteOutputFlag
void SetWriteOutputFlag(Bool_t bFlagIn)
Task settings.
Definition: CbmMcbm2018UnpackerTaskMuch.h:66
MuchFebChanMask::uChan
UInt_t uChan
Definition: CbmMcbm2018UnpackerTaskMuch.h:22
CbmMcbm2018UnpackerTaskMuch::Reset
virtual void Reset()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:188
MuchFebChanMask::bMasked
Bool_t bMasked
Definition: CbmMcbm2018UnpackerTaskMuch.h:23
CbmMcbm2018UnpackerTaskMuch::CbmMcbm2018UnpackerTaskMuch
CbmMcbm2018UnpackerTaskMuch(UInt_t uNbSdpb=1)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:34
CbmMcbm2018UnpackerTaskMuch::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:152
CbmErrorMessage.h
CbmMcbm2018UnpackerTaskMuch::SetTimeOffsetNsAsic
void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:236
CbmMcbm2018UnpackerTaskMuch::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:228
CbmMcbm2018UnpackerTaskMuch::CbmMcbm2018UnpackerTaskMuch
CbmMcbm2018UnpackerTaskMuch(const CbmMcbm2018UnpackerTaskMuch &)=delete
CbmMcbm2018UnpackerTaskMuch::fbMonitorMode
Bool_t fbMonitorMode
Control flags.
Definition: CbmMcbm2018UnpackerTaskMuch.h:75
CbmMcbm2018UnpackerTaskMuch::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:90
MuchFebChanMask
Definition: CbmMcbm2018UnpackerTaskMuch.h:20
CbmMuchBeamTimeDigi.h
CbmMcbm2018UnpackerTaskMuch::fvChanMasks
std::vector< MuchFebChanMask > fvChanMasks
If ON the output TClonesArray of digi is written to disk.
Definition: CbmMcbm2018UnpackerTaskMuch.h:82
CbmMcbm2018UnpackerTaskMuch::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskMuch.h:52
CbmMcbm2018UnpackerTaskMuch::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:145
CbmMcbm2018UnpackerTaskMuch::fUnpackerAlgo
CbmMcbm2018UnpackerAlgoMuch * fUnpackerAlgo
Processing algo.
Definition: CbmMcbm2018UnpackerTaskMuch.h:92
CbmMcbm2018UnpackerTaskMuch::SetBinningFwFlag
void SetBinningFwFlag(Bool_t bEnable=kTRUE)
=> Quick and dirty hack for binning FW!!!
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:245
CbmMcbm2018UnpackerAlgoMuch
Definition: CbmMcbm2018UnpackerAlgoMuch.h:37
CbmMcbm2018UnpackerTaskMuch::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:232
MuchFebChanMask::uFeb
UInt_t uFeb
Definition: CbmMcbm2018UnpackerTaskMuch.h:21
CbmMcbm2018UnpackerTaskMuch::fulTsCounter
uint64_t fulTsCounter
Statistics & first TS rejection.
Definition: CbmMcbm2018UnpackerTaskMuch.h:85
CbmMcbm2018UnpackerTaskMuch::fbWriteOutput
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018UnpackerTaskMuch.h:79
CbmMcbm2018UnpackerTaskMuch::~CbmMcbm2018UnpackerTaskMuch
virtual ~CbmMcbm2018UnpackerTaskMuch()
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:44
CbmMcbm2018UnpackerTaskMuch::EnableAsicType
void EnableAsicType(Int_t fiFlag=0)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:241
CbmMcbm2018UnpackerTaskMuch::MaskNoisyChannel
void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:249
CbmMcbm2018UnpackerTaskMuch::operator=
CbmMcbm2018UnpackerTaskMuch operator=(const CbmMcbm2018UnpackerTaskMuch &)=delete
CbmMcbm2018UnpackerTaskMuch::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018UnpackerTaskMuch.cxx:157
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018UnpackerTaskMuch::fpvDigiMuch
std::vector< CbmMuchBeamTimeDigi > * fpvDigiMuch
Output vectors.
Definition: CbmMcbm2018UnpackerTaskMuch.h:88