CbmRoot
CbmMcbm2018UnpackerTaskPsd.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018UnpackerTaskPsd -----
4 // ----- Created 09.10.2019 by N.Karpushkin -----
5 // ----- based on CbmMcbm2018UnpackerTaskTof by P.-A. Loizeau -----
6 // ----- -----
7 // -----------------------------------------------------------------------------
8 
9 #ifndef CbmMcbm2018UnpackerTaskPsd_H
10 #define CbmMcbm2018UnpackerTaskPsd_H
11 
12 #include "Timeslice.hpp"
13 
14 #include "CbmMcbmUnpack.h"
15 #include "CbmPsdDigi.h"
16 
18 //class TClonesArray;
19 class TH1;
20 
22 public:
23  CbmMcbm2018UnpackerTaskPsd(UInt_t uNbSdpb = 1);
24 
28 
30 
31  virtual Bool_t Init();
32  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
33  virtual void Reset();
34 
35  virtual void Finish();
36 
37  void SetParContainers();
38 
39  Bool_t InitContainers();
40 
41  Bool_t ReInitContainers();
42 
44  void AddMsComponentToList(size_t component, UShort_t usDetectorId);
45  void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
46 
48  inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) {
49  fbMonitorMode = bFlagIn;
50  }
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 SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
57 
58 private:
60  Bool_t
62  Bool_t
64  Bool_t
66 
68  UInt_t fuDigiMaskId;
69 
71  uint64_t fulTsCounter;
72 
74  std::vector<CbmPsdDigi>* fpvDigiPsd = nullptr;
75 
77  TH1* fhArraySize = nullptr;
78  TH1* fhArrayCapacity = nullptr;
79 
82 
83  ClassDef(CbmMcbm2018UnpackerTaskPsd, 2)
84 };
85 
86 #endif
CbmMcbm2018UnpackerTaskPsd::fuDigiMaskId
UInt_t fuDigiMaskId
If ON the output TClonesArray of digi is written to disk.
Definition: CbmMcbm2018UnpackerTaskPsd.h:68
CbmMcbm2018UnpackerTaskPsd::CbmMcbm2018UnpackerTaskPsd
CbmMcbm2018UnpackerTaskPsd(const CbmMcbm2018UnpackerTaskPsd &)=delete
CbmMcbm2018UnpackerTaskPsd::Init
virtual Bool_t Init()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:51
CbmPsdDigi.h
CbmMcbmUnpack.h
CbmMcbm2018UnpackerTaskPsd
Definition: CbmMcbm2018UnpackerTaskPsd.h:21
CbmMcbm2018UnpackerTaskPsd::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:65
CbmMcbm2018UnpackerTaskPsd::Finish
virtual void Finish()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:205
CbmMcbm2018UnpackerTaskPsd::fhArrayCapacity
TH1 * fhArrayCapacity
Definition: CbmMcbm2018UnpackerTaskPsd.h:78
CbmMcbm2018UnpackerTaskPsd::operator=
CbmMcbm2018UnpackerTaskPsd operator=(const CbmMcbm2018UnpackerTaskPsd &)=delete
CbmMcbm2018UnpackerTaskPsd::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Algo settings setters.
Definition: CbmMcbm2018UnpackerTaskPsd.h:48
CbmMcbm2018UnpackerTaskPsd::fUnpackerAlgo
CbmMcbm2018UnpackerAlgoPsd * fUnpackerAlgo
Processing algo.
Definition: CbmMcbm2018UnpackerTaskPsd.h:81
CbmMcbm2018UnpackerAlgoPsd
Definition: CbmMcbm2018UnpackerAlgoPsd.h:30
CbmMcbm2018UnpackerTaskPsd::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:166
CbmMcbm2018UnpackerTaskPsd::fulTsCounter
uint64_t fulTsCounter
Statistics & first TS rejection.
Definition: CbmMcbm2018UnpackerTaskPsd.h:71
CbmMcbm2018UnpackerTaskPsd::fbWriteOutput
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018UnpackerTaskPsd.h:65
CbmMcbm2018UnpackerTaskPsd::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:89
CbmMcbm2018UnpackerTaskPsd::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:161
CbmMcbm2018UnpackerTaskPsd::fhArraySize
TH1 * fhArraySize
Histogrrams.
Definition: CbmMcbm2018UnpackerTaskPsd.h:77
CbmMcbm2018UnpackerTaskPsd::~CbmMcbm2018UnpackerTaskPsd
virtual ~CbmMcbm2018UnpackerTaskPsd()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:47
CbmMcbm2018UnpackerTaskPsd::CbmMcbm2018UnpackerTaskPsd
CbmMcbm2018UnpackerTaskPsd(UInt_t uNbSdpb=1)
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:36
CbmMcbm2018UnpackerTaskPsd::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:154
CbmMcbm2018UnpackerTaskPsd::SetDiamondDpbIdx
void SetDiamondDpbIdx(UInt_t uIdx=2)
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:249
CbmMcbm2018UnpackerTaskPsd::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
Definition: CbmMcbm2018UnpackerTaskPsd.h:63
CbmMcbm2018UnpackerTaskPsd::Reset
virtual void Reset()
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:202
CbmMcbm2018UnpackerTaskPsd::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:246
CbmMcbm2018UnpackerTaskPsd::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskPsd.cxx:242
CbmMcbm2018UnpackerTaskPsd::SetWriteOutputFlag
void SetWriteOutputFlag(Bool_t bFlagIn)
Task settings.
Definition: CbmMcbm2018UnpackerTaskPsd.h:56
CbmMcbm2018UnpackerTaskPsd::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018UnpackerTaskPsd.h:45
CbmMcbm2018UnpackerTaskPsd::fbMonitorMode
Bool_t fbMonitorMode
Control flags.
Definition: CbmMcbm2018UnpackerTaskPsd.h:61
CbmMcbm2018UnpackerTaskPsd::fpvDigiPsd
std::vector< CbmPsdDigi > * fpvDigiPsd
Output vectors.
Definition: CbmMcbm2018UnpackerTaskPsd.h:74
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15