CbmRoot
Loading...
Searching...
No Matches
CbmMcbm2018UnpackerTaskTof.h
Go to the documentation of this file.
1/* Copyright (C) 2019-2020 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
5// -----------------------------------------------------------------------------
6// ----- -----
7// ----- CbmMcbm2018UnpackerTaskTof -----
8// ----- Created 10.02.2019 by P.-A. Loizeau -----
9// ----- -----
10// -----------------------------------------------------------------------------
11
12#ifndef CbmMcbm2018UnpackerTaskTof_H
13#define CbmMcbm2018UnpackerTaskTof_H
14
15#include "CbmMcbmUnpack.h"
16#include "CbmTofDigi.h"
17
18#include "Timeslice.hpp"
19
21//class TClonesArray;
22class TH1;
23
25public:
26 CbmMcbm2018UnpackerTaskTof(UInt_t uNbSdpb = 1);
27
30
32
33 virtual Bool_t Init();
34 virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
35 virtual void Reset();
36
37 virtual void Finish();
38
39 void SetParContainers();
40
41 Bool_t InitContainers();
42
43 Bool_t ReInitContainers();
44
46 void AddMsComponentToList(size_t component, UShort_t usDetectorId);
47 void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
48
50 inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) { fbMonitorMode = bFlagIn; }
51 void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
52 void SetTimeOffsetNs(Double_t dOffsetIn = 0.0);
53 void SetDiamondDpbIdx(UInt_t uIdx = 2);
54
56 void SetSeparateArrayBmon(Bool_t bFlagIn = kTRUE) { fbSeparateArrayBmon = bFlagIn; }
57 void SetDigiMaskAndIdBmon(UInt_t uMask, UInt_t uMaskedIdBmon)
58 {
59 fuDigiMaskId = uMask;
60 fuDigiMaskedIdBmon = uMaskedIdBmon;
61 }
62 void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
63
64private:
70
74
76 uint64_t fulTsCounter;
77
79 std::vector<CbmTofDigi>* fpvDigiTof = nullptr;
80 std::vector<CbmTofDigi>* fpvDigiBmon = nullptr;
81
83 TH1* fhArraySize = nullptr;
84 TH1* fhArrayCapacity = nullptr;
85
88
90};
91
92#endif
std::vector< CbmTofDigi > * fpvDigiTof
Output vectors.
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Algo settings setters.
void SetDigiMaskAndIdBmon(UInt_t uMask, UInt_t uMaskedIdBmon)
uint64_t fulTsCounter
Statistics & first TS rejection.
CbmMcbm2018UnpackerAlgoTof * fUnpackerAlgo
Processing algo.
CbmMcbm2018UnpackerTaskTof(const CbmMcbm2018UnpackerTaskTof &)=delete
Bool_t fbSeparateArrayBmon
Switch ON the filling of a additional set of histograms.
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
std::vector< CbmTofDigi > * fpvDigiBmon
UInt_t fuDigiMaskedIdBmon
If ON the output TClonesArray of digi is written to disk.
void SetSeparateArrayBmon(Bool_t bFlagIn=kTRUE)
Task settings.
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
CbmMcbm2018UnpackerTaskTof operator=(const CbmMcbm2018UnpackerTaskTof &)=delete
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Bool_t fbWriteOutput
If ON, Bmon digis are saved in separate TClonesArray.
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)