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_FV0_CTF_H
17#define O2_FV0_CTF_H
18
19#include <vector>
20#include <Rtypes.h>
22
23namespace o2
24{
25namespace fv0
26{
27
30 uint32_t nTriggers = 0;
31 uint32_t firstOrbit = 0;
32 uint16_t firstBC = 0;
33 uint16_t triggerGate = 192; // trigger gate used at encoding
35};
36
39
41
42 // trigger 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> cfdTime; // CFD time
51 std::vector<int16_t> qtcAmpl; // Amplitude
52 std::vector<uint8_t> qtcChain; // 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_bcInc, // increment in BC
67 BLC_orbitInc, // increment in orbit
68 BLC_nChan, // number of fired channels
69
70 BLC_idChan, // channels ID: 1st on absolute, then increment
71 BLC_cfdTime, // CFD time
72 BLC_qtcAmpl, // amplitude
73
74 // extra slot added, should not alter the order of previous ones
75 BLC_trigger, // trigger bits
76 BLC_qtcChain // ADC chain
77 };
78
80};
81
82} // namespace fv0
83} // namespace o2
84
85#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:29
uint16_t triggerGate
1st BC of TF
Definition CTF.h:33
ClassDefNV(CTFHeader, 3)
uint32_t nTriggers
Definition CTF.h:30
uint16_t firstBC
1st orbit of TF
Definition CTF.h:32
uint32_t firstOrbit
number of triggers in TF
Definition CTF.h:31
wrapper for the Entropy-encoded clusters of the TF
Definition CTF.h:62
@ BLC_orbitInc
Definition CTF.h:67
@ BLC_bcInc
Definition CTF.h:66
@ BLC_idChan
Definition CTF.h:70
@ BLC_qtcAmpl
Definition CTF.h:72
@ BLC_cfdTime
Definition CTF.h:71
@ BLC_nChan
Definition CTF.h:68
@ BLC_trigger
Definition CTF.h:75
@ BLC_qtcChain
Definition CTF.h:76
static constexpr size_t N
Definition CTF.h:64
ClassDefNV(CTF, 3)
Intermediate, compressed but not yet entropy-encoded digits.
Definition CTF.h:38
ClassDefNV(CompressedDigits, 3)
std::vector< uint8_t > qtcChain
Definition CTF.h:52
std::vector< int16_t > qtcAmpl
Definition CTF.h:51
std::vector< int16_t > bcInc
Definition CTF.h:44
std::vector< uint8_t > nChan
Definition CTF.h:46
std::vector< uint8_t > idChan
Definition CTF.h:49
std::vector< int16_t > cfdTime
Definition CTF.h:50
std::vector< uint8_t > trigger
Definition CTF.h:43
std::vector< int32_t > orbitInc
Definition CTF.h:45