Project
Loading...
Searching...
No Matches
CTF.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
16#ifndef O2_ITSMFT_CTF_H
17#define O2_ITSMFT_CTF_H
18
19#include <vector>
20#include <Rtypes.h>
22
23namespace o2
24{
25namespace itsmft
26{
27
28class ROFRecord;
29class CompClusterExt;
30
33 uint32_t nROFs = 0;
34 uint32_t nClusters = 0;
35 uint32_t nChips = 0;
36 uint32_t nPatternBytes = 0;
37 uint32_t firstOrbit = 0;
38 uint16_t firstBC = 0;
39 uint8_t maxStreams = 1;
40 uint8_t streamID = 0;
42};
43
46
48
49 // ROF header data
50 std::vector<uint16_t> firstChipROF;
51 std::vector<int16_t> bcIncROF;
52 std::vector<int32_t> orbitIncROF;
53 std::vector<uint32_t> nclusROF;
54
55 // Chip data
56 std::vector<int16_t> chipInc;
57 std::vector<uint16_t> chipMul;
58 std::vector<uint16_t> row;
59 std::vector<int16_t> colInc;
60 std::vector<uint16_t> pattID;
61 std::vector<uint8_t> pattMap;
62
63 CompressedClusters() = default;
64
65 void clear();
66
68};
69
86
87} // namespace itsmft
88} // namespace o2
89
90#endif
<<======================== Auxiliary classes =======================<<
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Detector header base.
Header for a single CTF.
Definition CTF.h:32
uint32_t nChips
number of clusters in TF
Definition CTF.h:35
uint8_t streamID
Number of streams per TF (== NLayers for staggered ITS/MFT readout, 1 for non-staggered one)
Definition CTF.h:40
uint32_t nPatternBytes
number of fired chips in TF : this is for the version with chipInc stored once per new chip
Definition CTF.h:36
uint32_t firstOrbit
number of bytes for explict patterns
Definition CTF.h:37
uint16_t firstBC
1st orbit of TF
Definition CTF.h:38
uint32_t nClusters
number of ROFrame in TF
Definition CTF.h:34
ClassDefNV(CTFHeader, 3)
ID of the stream (0:maxStreams-1)
uint32_t nROFs
Definition CTF.h:33
uint8_t maxStreams
1st BC of TF
Definition CTF.h:39
wrapper for the Entropy-encoded clusters of the TF
Definition CTF.h:71
@ BLCnclusROF
Definition CTF.h:77
@ BLCfirstChipROF
Definition CTF.h:74
@ BLCbcIncROF
Definition CTF.h:75
@ BLCorbitIncROF
Definition CTF.h:76
static constexpr size_t N
Definition CTF.h:73
ClassDefNV(CTF, 1)
Compressed but not yet entropy-encoded clusters.
Definition CTF.h:45
std::vector< int16_t > chipInc
number of clusters in ROF
Definition CTF.h:56
CompressedClusters()=default
explict patterns container
std::vector< int16_t > bcIncROF
1st chip ID in the ROF
Definition CTF.h:51
std::vector< int32_t > orbitIncROF
increment of ROF BC wrt BC of previous ROF
Definition CTF.h:52
std::vector< uint16_t > pattID
increment of pixel column wrt that of prev. pixel (sometimes can be slightly negative)
Definition CTF.h:60
std::vector< uint16_t > firstChipROF
Definition CTF.h:50
std::vector< uint32_t > nclusROF
increment of ROF orbit wrt orbit of previous ROF
Definition CTF.h:53
std::vector< uint8_t > pattMap
cluster pattern ID
Definition CTF.h:61
std::vector< uint16_t > row
clusters in chip
Definition CTF.h:58
ClassDefNV(CompressedClusters, 1)
std::vector< int16_t > colInc
row of fired pixel
Definition CTF.h:59
std::vector< uint16_t > chipMul
increment of chipID wrt that of prev. chip
Definition CTF.h:57