CbmRoot
Loading...
Searching...
No Matches
CbmCosy2019UnpackerTaskHodo.h
Go to the documentation of this file.
1/* Copyright (C) 2019-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau, Florian Uhlig [committer] */
4
5// -----------------------------------------------------------------------------
6// ----- -----
7// ----- CbmCosy2019UnpackerTaskHodo -----
8// ----- Created 31/07/19 by P.-A. Loizeau -----
9// ----- -----
10// -----------------------------------------------------------------------------
11
12#ifndef CbmCosy2019UnpackerTaskHodo_H
13#define CbmCosy2019UnpackerTaskHodo_H
14
15#include "CbmErrorMessage.h"
16#include "CbmMcbmUnpack.h"
17#include "CbmStsDigi.h"
18
19#include "Timeslice.hpp"
20
23
25 UInt_t uFeb;
26 UInt_t uChan;
27 Bool_t bMasked;
28};
29
31public:
32 CbmCosy2019UnpackerTaskHodo(UInt_t uNbSdpb = 1);
33
36
38
39 virtual Bool_t Init();
40 virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
41 virtual void Reset();
42
43 virtual void Finish();
44
45 void SetParContainers();
46
47 Bool_t InitContainers();
48
49 Bool_t ReInitContainers();
50
52 void AddMsComponentToList(size_t component, UShort_t usDetectorId);
53 void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
54
55 inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) { fbMonitorMode = bFlagIn; }
56 void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
57
58 void SetTimeOffsetNs(Double_t dOffsetIn = 0.0);
59 void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn = 0.0);
60
61 void SetTimeOffsetNsSts(Double_t dOffsetIn = 0.0);
62 void SetTimeOffsetNsAsicSts(UInt_t uAsicIdx, Double_t dOffsetIn = 0.0);
63 void MaskNoisyChannelSts(UInt_t uFeb, UInt_t uChan, Bool_t bMasked = kTRUE);
64 void SetAdcCutSts(UInt_t uAdc);
65
67 void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
68
69private:
74
76 std::vector<FebChanMaskSts> fvChanMasks;
77
79 uint64_t fulTsCounter;
80
82 std::vector<CbmStsDigi>* fpvDigiSts = nullptr;
83 std::vector<CbmErrorMessage>* fpvErrorSts = nullptr;
84
88
90};
91
92#endif
void SetWriteOutputFlag(Bool_t bFlagIn)
Task settings.
void MaskNoisyChannelSts(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
CbmCosy2019UnpackerAlgoHodo * fUnpackerAlgo
Processing algo.
void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
CbmMcbm2018UnpackerAlgoSts * fUnpackerAlgoSts
uint64_t fulTsCounter
Statistics & first TS rejection.
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
std::vector< CbmStsDigi > * fpvDigiSts
Output vectors.
void SetTimeOffsetNsAsicSts(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
CbmCosy2019UnpackerTaskHodo operator=(const CbmCosy2019UnpackerTaskHodo &)=delete
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
CbmCosy2019UnpackerTaskHodo(const CbmCosy2019UnpackerTaskHodo &)=delete
void SetTimeOffsetNsSts(Double_t dOffsetIn=0.0)
std::vector< CbmErrorMessage > * fpvErrorSts
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
std::vector< FebChanMaskSts > fvChanMasks
If ON the output TClonesArray of digi is written to disk.
void SetMonitorMode(Bool_t bFlagIn=kTRUE)