CbmRoot
CbmMcbm2018UnpackerTaskTrdR.h
Go to the documentation of this file.
1 
7 #ifndef CbmMcbm2018UnpackerTaskTrdR_H
8 #define CbmMcbm2018UnpackerTaskTrdR_H
9 
10 #include "TString.h"
11 
12 #include "CbmMcbmUnpack.h"
13 #include "CbmTrdDigi.h"
14 #include "CbmTrdRawMessageSpadic.h"
15 
17 
25 public:
28 
30 
35 
42  virtual Bool_t Init();
43 
45  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
46 
48  virtual void Reset();
49 
50  // Called in CbmMcbm2018Source::Close() */
51  virtual void Finish();
52 
54  virtual void SetParContainers();
55 
56  virtual Bool_t InitContainers();
57 
58  virtual Bool_t ReInitContainers();
59 
63  virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId);
64 
68  virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb);
69 
70  void SetMonitorMode(Bool_t bFlagIn = kTRUE) { fbMonitorMode = bFlagIn; }
71  void SetDebugMonitorMode(Bool_t bFlagIn = kTRUE) {
72  fbDebugMonitorMode = bFlagIn;
73  }
74  void SetWriteOutput(Bool_t bFlagIn = kTRUE) { fbWriteOutput = bFlagIn; }
75  void SetDebugWriteOutput(Bool_t bFlagIn = kTRUE) {
76  fbDebugWriteOutput = bFlagIn;
77  }
78  void SetDebugSortOutput(Bool_t bFlagIn = kTRUE) {
79  fbDebugSortOutput = bFlagIn;
80  }
81  void SetSystemIdentifier(std::uint8_t id) { fSystemIdentifier = id; }
82  void SetTimeOffsetNs(Double_t dOffsetIn = 0.0);
83 
87  void SetBaselineAvg(Bool_t bFlagIn = kTRUE) { fbBaselineAvg = bFlagIn; }
88 
89  void SetActiveHistograms(std::vector<bool> isActiveHistoVec) {
90  fIsActiveHistoVec = isActiveHistoVec;
91  }
92  void SetHistoFileName(TString filename);
93 
94  void SetMsSizeInNs(Double_t msSizeInNs) {
95  fdMsSizeInNs = msSizeInNs;
96  } // TODO handle this with asic parameter files
97 
98  void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
99 
100  void SetFirstChannelsElinkEven(bool isEven) {
101  fIsFirstChannelsElinkEven = isEven;
102  }
103 
104 private:
105  // Control flags
106  Bool_t
108  Bool_t
110  Bool_t
112  Bool_t
115  kTRUE;
116  Bool_t
118  std::uint8_t
120  Double_t
122 
124  false;
125 
126 
128  std::vector<bool> fIsActiveHistoVec; // Define active histos in algo
129 
131  std::vector<CbmTrdDigi>* fTrdDigiVector;
132 
134  std::vector<CbmTrdRawMessageSpadic>* fTrdRawMessageVector;
135 
137  std::vector<std::pair<std::uint64_t, std::uint64_t>>* fSpadicInfoMsgVector;
138 
141 
142  ClassDef(CbmMcbm2018UnpackerTaskTrdR, 1)
143 };
144 
145 #endif
CbmMcbm2018UnpackerTaskTrdR::fbDebugWriteOutput
Bool_t fbDebugWriteOutput
If ON the output vector of raw messages is filled and written to disk.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:113
CbmMcbm2018UnpackerTaskTrdR::fIsActiveHistoVec
std::vector< bool > fIsActiveHistoVec
Definition: CbmMcbm2018UnpackerTaskTrdR.h:128
CbmMcbm2018UnpackerTaskTrdR::SetParContainers
virtual void SetParContainers()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:145
CbmMcbm2018UnpackerTaskTrdR
Timeslice unpacker FairTask for Spadic v.2.2 .
Definition: CbmMcbm2018UnpackerTaskTrdR.h:24
CbmMcbm2018UnpackerTaskTrdR::fMonitorHistoFileName
TString fMonitorHistoFileName
Definition: CbmMcbm2018UnpackerTaskTrdR.h:127
CbmMcbm2018UnpackerTaskTrdR::fbBaselineAvg
Bool_t fbBaselineAvg
Set to true if Baseline Averaging is activated in Spadic.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:117
CbmMcbm2018UnpackerTaskTrdR::SetBaselineAvg
void SetBaselineAvg(Bool_t bFlagIn=kTRUE)
Call this when Spadic Average-Baseline feature is enabled.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:87
CbmMcbm2018UnpackerTaskTrdR::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:256
CbmMcbmUnpack.h
CbmMcbm2018UnpackerTaskTrdR::SetMsSizeInNs
void SetMsSizeInNs(Double_t msSizeInNs)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:94
CbmMcbm2018UnpackerTaskTrdR::fbWriteOutput
Bool_t fbWriteOutput
If ON the output Vector of digis is written to disk.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:111
CbmMcbm2018UnpackerTaskTrdR::fbDebugSortOutput
Bool_t fbDebugSortOutput
If ON the output vector of raw messages is sorted in time.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:114
CbmMcbm2018UnpackerTaskTrdR::ReInitContainers
virtual Bool_t ReInitContainers()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:221
CbmMcbm2018UnpackerTaskTrdR::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:70
CbmMcbm2018UnpackerTaskTrdR::fSystemIdentifier
std::uint8_t fSystemIdentifier
by default set to: fles::SubsystemIdentifier::TRD, changable via setter
Definition: CbmMcbm2018UnpackerTaskTrdR.h:119
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR
CbmMcbm2018UnpackerTaskTrdR(const CbmMcbm2018UnpackerTaskTrdR &)
CbmMcbm2018UnpackerTaskTrdR::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:252
CbmMcbm2018UnpackerTaskTrdR::SetActiveHistograms
void SetActiveHistograms(std::vector< bool > isActiveHistoVec)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:89
CbmTrdDigi.h
CbmMcbm2018UnpackerTaskTrdR::SetNbMsInTs
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
Sets numbers of Core Microslices and overlap Microslices per Timeslice.
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:241
CbmMcbm2018UnpackerTaskTrdR::Init
virtual Bool_t Init()
Registers output-data containers at the FairRootManager.
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:37
CbmMcbm2018UnpackerTaskTrdR::SetDebugSortOutput
void SetDebugSortOutput(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:78
CbmMcbm2018UnpackerTaskTrdR::fdMsSizeInNs
Double_t fdMsSizeInNs
microslice size in ns to be passed to the unpacker // TODO handle this with asic parameter files
Definition: CbmMcbm2018UnpackerTaskTrdR.h:121
CbmMcbm2018UnpackerTaskTrdR::Reset
virtual void Reset()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:103
CbmMcbm2018UnpackerTaskTrdR::SetDebugMonitorMode
void SetDebugMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:71
CbmMcbm2018UnpackerTaskTrdR::SetFirstChannelsElinkEven
void SetFirstChannelsElinkEven(bool isEven)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:100
CbmMcbm2018UnpackerTaskTrdR::~CbmMcbm2018UnpackerTaskTrdR
virtual ~CbmMcbm2018UnpackerTaskTrdR()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:33
CbmMcbm2018UnpackerTaskTrdR::SetHistoFileName
void SetHistoFileName(TString filename)
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:247
CbmMcbm2018UnpackerTaskTrdR::fbMonitorMode
Bool_t fbMonitorMode
< Set wether channels 00..15 are on the even (true) or the odd (false and default) elink
Definition: CbmMcbm2018UnpackerTaskTrdR.h:107
CbmMcbm2018UnpackerTaskTrdR::InitContainers
virtual Bool_t InitContainers()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:169
CbmMcbm2018UnpackerTaskTrdR::fTrdDigiVector
std::vector< CbmTrdDigi > * fTrdDigiVector
Output Digi vector.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:131
CbmMcbm2018UnpackerTaskTrdR::operator=
CbmMcbm2018UnpackerTaskTrdR operator=(const CbmMcbm2018UnpackerTaskTrdR &)
CbmMcbm2018UnpackerTaskTrdR::SetSystemIdentifier
void SetSystemIdentifier(std::uint8_t id)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:81
CbmMcbm2018UnpackerTaskTrdR::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:109
CbmMcbm2018UnpackerTaskTrdR::fIsFirstChannelsElinkEven
bool fIsFirstChannelsElinkEven
define if the first 16 channels (00..15) are found on the even (set true) or odd (false) eLinkId,...
Definition: CbmMcbm2018UnpackerTaskTrdR.h:123
CbmMcbm2018UnpackerTaskTrdR::fSpadicInfoMsgVector
std::vector< std::pair< std::uint64_t, std::uint64_t > > * fSpadicInfoMsgVector
vector< pair< fulltime, word > >
Definition: CbmMcbm2018UnpackerTaskTrdR.h:137
CbmMcbm2018UnpackerTaskTrdR::Finish
virtual void Finish()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:110
CbmMcbm2018UnpackerTaskTrdR::fTrdRawMessageVector
std::vector< CbmTrdRawMessageSpadic > * fTrdRawMessageVector
Output Spadic raw messages for debugging.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:134
CbmMcbm2018UnpackerTaskTrdR::fUnpackerAlgo
CbmMcbm2018UnpackerAlgoTrdR * fUnpackerAlgo
Processing algo.
Definition: CbmMcbm2018UnpackerTaskTrdR.h:140
CbmMcbm2018UnpackerTaskTrdR::AddMsComponentToList
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Adds an input component to the list of active components for this unpacker.
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:230
CbmMcbm2018UnpackerTaskTrdR::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:87
CbmTrdRawMessageSpadic.h
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR
CbmMcbm2018UnpackerTaskTrdR()
Definition: CbmMcbm2018UnpackerTaskTrdR.cxx:14
CbmMcbm2018UnpackerTaskTrdR::SetWriteOutput
void SetWriteOutput(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:74
CbmMcbm2018UnpackerTaskTrdR::SetDebugWriteOutput
void SetDebugWriteOutput(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskTrdR.h:75
CbmMcbm2018UnpackerAlgoTrdR
Timeslice unpacker algorithm for Spadic v.2.2 .
Definition: CbmMcbm2018UnpackerAlgoTrdR.h:34