CbmRoot
CbmMcbm2018UnpackerTaskHodo.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018UnpackerTaskHodo -----
4 // ----- Created 31/07/19 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018UnpackerTaskHodo_H
9 #define CbmMcbm2018UnpackerTaskHodo_H
10 
11 #include "Timeslice.hpp"
12 
13 #include "CbmErrorMessage.h"
14 #include "CbmMcbmUnpack.h"
15 #include "CbmStsDigi.h"
16 
19 
21  UInt_t uFeb;
22  UInt_t uChan;
23  Bool_t bMasked;
24 };
25 
27 public:
28  CbmMcbm2018UnpackerTaskHodo(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 SetTimeOffsetNsSts(Double_t dOffsetIn = 0.0);
61  void SetTimeOffsetNsAsicSts(UInt_t uAsicIdx, Double_t dOffsetIn = 0.0);
62  void MaskNoisyChannelSts(UInt_t uFeb, UInt_t uChan, Bool_t bMasked = kTRUE);
63  void SetAdcCutSts(UInt_t uAdc);
64 
66  void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
67 
68 private:
70  Bool_t
72  Bool_t
74  Bool_t
76 
78  std::vector<FebChanMaskSts> fvChanMasks;
79 
81  uint64_t fulTsCounter;
82 
84  std::vector<CbmStsDigi>* fpvDigiSts = nullptr;
85  std::vector<CbmErrorMessage>* fpvErrorSts = nullptr;
86 
90 
91  ClassDef(CbmMcbm2018UnpackerTaskHodo, 1)
92 };
93 
94 #endif
CbmMcbm2018UnpackerTaskHodo::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:77
CbmMcbm2018UnpackerTaskHodo::fpvDigiSts
std::vector< CbmStsDigi > * fpvDigiSts
Output vectors.
Definition: CbmMcbm2018UnpackerTaskHodo.h:84
FebChanMaskSts::uChan
UInt_t uChan
Definition: CbmMcbm2018UnpackerTaskHodo.h:22
CbmMcbm2018UnpackerTaskHodo::fpvErrorSts
std::vector< CbmErrorMessage > * fpvErrorSts
Definition: CbmMcbm2018UnpackerTaskHodo.h:85
CbmMcbm2018UnpackerTaskHodo::fvChanMasks
std::vector< FebChanMaskSts > fvChanMasks
If ON the output TClonesArray of digi is written to disk.
Definition: CbmMcbm2018UnpackerTaskHodo.h:78
CbmMcbm2018UnpackerTaskHodo::Init
virtual Bool_t Init()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:53
FebChanMaskSts::uFeb
UInt_t uFeb
Definition: CbmMcbm2018UnpackerTaskHodo.h:21
CbmMcbmUnpack.h
CbmMcbm2018UnpackerTaskHodo::SetTimeOffsetNsSts
void SetTimeOffsetNsSts(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:307
CbmMcbm2018UnpackerTaskHodo::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskHodo.h:52
CbmMcbm2018UnpackerTaskHodo
Definition: CbmMcbm2018UnpackerTaskHodo.h:26
CbmMcbm2018UnpackerTaskHodo::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:303
CbmMcbm2018UnpackerTaskHodo::operator=
CbmMcbm2018UnpackerTaskHodo operator=(const CbmMcbm2018UnpackerTaskHodo &)=delete
CbmMcbm2018UnpackerAlgoHodo
Definition: CbmMcbm2018UnpackerAlgoHodo.h:36
CbmMcbm2018UnpackerTaskHodo::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:182
CbmStsDigi.h
CbmErrorMessage.h
FebChanMaskSts::bMasked
Bool_t bMasked
Definition: CbmMcbm2018UnpackerTaskHodo.h:23
CbmMcbm2018UnpackerTaskHodo::Finish
virtual void Finish()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:260
CbmMcbm2018UnpackerTaskHodo::fulTsCounter
uint64_t fulTsCounter
Statistics & first TS rejection.
Definition: CbmMcbm2018UnpackerTaskHodo.h:81
CbmMcbm2018UnpackerTaskHodo::fbWriteOutput
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018UnpackerTaskHodo.h:75
CbmMcbm2018UnpackerTaskHodo::SetWriteOutputFlag
void SetWriteOutputFlag(Bool_t bFlagIn)
Task settings.
Definition: CbmMcbm2018UnpackerTaskHodo.h:66
CbmMcbm2018UnpackerTaskHodo::fbMonitorMode
Bool_t fbMonitorMode
Control flags.
Definition: CbmMcbm2018UnpackerTaskHodo.h:71
CbmMcbm2018UnpackerTaskHodo::~CbmMcbm2018UnpackerTaskHodo
virtual ~CbmMcbm2018UnpackerTaskHodo()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:48
CbmMcbm2018UnpackerAlgoSts
Definition: CbmMcbm2018UnpackerAlgoSts.h:37
CbmMcbm2018UnpackerTaskHodo::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:190
FebChanMaskSts
Definition: CbmMcbm2018UnpackerTaskHodo.h:20
CbmMcbm2018UnpackerTaskHodo::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:121
CbmMcbm2018UnpackerTaskHodo::fUnpackerAlgoSts
CbmMcbm2018UnpackerAlgoSts * fUnpackerAlgoSts
Definition: CbmMcbm2018UnpackerTaskHodo.h:89
CbmMcbm2018UnpackerTaskHodo::CbmMcbm2018UnpackerTaskHodo
CbmMcbm2018UnpackerTaskHodo(const CbmMcbm2018UnpackerTaskHodo &)=delete
CbmMcbm2018UnpackerTaskHodo::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:196
CbmMcbm2018UnpackerTaskHodo::Reset
virtual void Reset()
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:255
CbmMcbm2018UnpackerTaskHodo::fUnpackerAlgo
CbmMcbm2018UnpackerAlgoHodo * fUnpackerAlgo
Processing algo.
Definition: CbmMcbm2018UnpackerTaskHodo.h:88
CbmMcbm2018UnpackerTaskHodo::SetTimeOffsetNsAsicSts
void SetTimeOffsetNsAsicSts(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:316
CbmMcbm2018UnpackerTaskHodo::MaskNoisyChannelSts
void MaskNoisyChannelSts(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:321
CbmMcbm2018UnpackerTaskHodo::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
Definition: CbmMcbm2018UnpackerTaskHodo.h:73
CbmMcbm2018UnpackerTaskHodo::SetAdcCutSts
void SetAdcCutSts(UInt_t uAdc)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:327
CbmMcbm2018UnpackerTaskHodo::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018UnpackerTaskHodo.h:50
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018UnpackerTaskHodo::SetTimeOffsetNsAsic
void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:311
CbmMcbm2018UnpackerTaskHodo::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:298
CbmMcbm2018UnpackerTaskHodo::CbmMcbm2018UnpackerTaskHodo
CbmMcbm2018UnpackerTaskHodo(UInt_t uNbSdpb=1)
Definition: CbmMcbm2018UnpackerTaskHodo.cxx:37