CbmRoot
Loading...
Searching...
No Matches
CbmCriGet4RawPrint.h
Go to the documentation of this file.
1/* Copyright (C) 2021 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#ifndef CbmCriGet4RawPrint_H
6#define CbmCriGet4RawPrint_H
7
8// Data
9#include "Timeslice.hpp"
10
11#include "CriGet4Mess001.h"
12
13// CbmRoot
14#include "CbmMcbmUnpack.h"
15
16// C/C++
17#include <map>
18#include <vector>
19
21
23public:
25
28
29 virtual ~CbmCriGet4RawPrint();
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
47 void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE) { fbIgnoreOverlapMs = bFlagIn; }
48
49private:
51 static const Int_t kiMaxNbFlibLinks = 32;
52 static const UInt_t kuBytesPerMessage = 8;
53
55 std::vector<size_t> fvMsComponentsList;
58 size_t fuNbMsLoop;
60 Double_t fdMsSizeInNs;
63
66 ULong64_t fulCurrentTsIdx;
67 ULong64_t fulCurrentMsIdx;
68 Double_t fdTsStartTime;
70 Double_t fdMsTime;
71 UInt_t fuMsIndex;
74
75 ClassDef(CbmCriGet4RawPrint, 1)
76};
77
78#endif
void SetNbMsInTs(size_t, size_t)
CbmCriGet4RawPrint(const CbmCriGet4RawPrint &)=delete
ULong64_t fulCurrentTsIdx
Total size of the core MS in a TS, [nanoseconds].
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Double_t fdTsCoreSizeInNs
Size of a single MS, [nanoseconds].
Double_t fdTsFullSizeInNs
Total size of the core MS in a TS, [nanoseconds].
std::vector< size_t > fvMsComponentsList
Parameters related to FLES containers.
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
Double_t fdMsSizeInNs
/‍** Ignore Overlap Ms: all fuNbOverMsPerTs MS at the end of timeslice **‍/
Double_t fdMsTime
End Time in ns of current TS Core from the index of the first MS first component.
static const Int_t kiMaxNbFlibLinks
Constants.
CbmCriGet4RawPrint operator=(const CbmCriGet4RawPrint &)=delete
static const UInt_t kuBytesPerMessage