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_FDD_CTF_H
17#define O2_FDD_CTF_H
18
19#include <vector>
20#include <Rtypes.h>
22
23namespace o2
24{
25namespace fdd
26{
27
30 uint32_t nTriggers = 0;
31 uint32_t firstOrbit = 0;
32 uint16_t firstBC = 0;
33
35};
36
39
41
42 // BC data
43 std::vector<uint8_t> trigger; // trigger bits
44 std::vector<int16_t> bcInc; // increment in BC if the same orbit, otherwise abs bc
45 std::vector<int32_t> orbitInc; // increment in orbit
46 std::vector<uint8_t> nChan; // number of fired channels
47
48 // channel data
49 std::vector<uint8_t> idChan; // channels ID: 1st on absolute, then increment
50 std::vector<int16_t> time; // time
51 std::vector<int16_t> charge; // Amplitude
52 std::vector<uint8_t> feeBits; // QTC chain
53
54 CompressedDigits() = default;
55
56 void clear();
57
59};
60
62struct CTF : public o2::ctf::EncodedBlocks<CTFHeader, 8, uint32_t> {
63
64 static constexpr size_t N = getNBlocks();
65 enum Slots {
66 BLC_trigger, // trigger bits
67 BLC_bcInc, // increment in BC
68 BLC_orbitInc, // increment in orbit
69 BLC_nChan, // number of fired channels
70
71 BLC_idChan, // channels ID: 1st on absolute, then increment
72 BLC_time, // time
73 BLC_charge, // amplitude
74 BLC_feeBits // bits
75 };
76
78};
79
80} // namespace fdd
81} // namespace o2
82
83#endif
<<======================== Auxiliary classes =======================<<
struct o2::upgrades_utils::@459 fdd
Collision labels.
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:29
uint32_t nTriggers
Definition CTF.h:30
uint32_t firstOrbit
number of triggers in TF
Definition CTF.h:31
ClassDefNV(CTFHeader, 2)
1st BC of TF
uint16_t firstBC
1st orbit of TF
Definition CTF.h:32
wrapper for the Entropy-encoded clusters of the TF
Definition CTF.h:62
static constexpr size_t N
Definition CTF.h:64
ClassDefNV(CTF, 2)
@ BLC_orbitInc
Definition CTF.h:68
@ BLC_nChan
Definition CTF.h:69
@ BLC_bcInc
Definition CTF.h:67
@ BLC_charge
Definition CTF.h:73
@ BLC_trigger
Definition CTF.h:66
@ BLC_idChan
Definition CTF.h:71
@ BLC_time
Definition CTF.h:72
@ BLC_feeBits
Definition CTF.h:74
Intermediate, compressed but not yet entropy-encoded digits.
Definition CTF.h:38
std::vector< int32_t > orbitInc
Definition CTF.h:45
std::vector< uint8_t > feeBits
Definition CTF.h:52
std::vector< int16_t > time
Definition CTF.h:50
std::vector< uint8_t > trigger
Definition CTF.h:43
std::vector< int16_t > charge
Definition CTF.h:51
std::vector< int16_t > bcInc
Definition CTF.h:44
std::vector< uint8_t > idChan
Definition CTF.h:49
ClassDefNV(CompressedDigits, 2)
std::vector< uint8_t > nChan
Definition CTF.h:46