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_FT0_CTF_H
17#define O2_FT0_CTF_H
18
19#include <vector>
20#include <Rtypes.h>
22
23namespace o2
24{
25namespace ft0
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 std::vector<uint8_t> eventStatus; // special flags about event conditions: pile-up, not use for collision time, not use for event plane, etc.
48
49 // channel data
50 std::vector<uint8_t> idChan; // channels ID: 1st on absolute, then increment
51 std::vector<int16_t> cfdTime; // CFD time
52 std::vector<int32_t> qtcAmpl; // Amplitude
53 std::vector<uint8_t> qtcChain; // QTC chain
54
55 CompressedDigits() = default;
56
57 void clear();
58
60};
61
63struct CTF : public o2::ctf::EncodedBlocks<CTFHeader, 9, uint32_t> {
64
65 static constexpr size_t N = getNBlocks();
66 enum Slots {
67 BLC_trigger, // trigger bits
68 BLC_bcInc, // increment in BC
69 BLC_orbitInc, // increment in orbit
70 BLC_nChan, // number of fired channels
71 BLC_status, // special flags about event conditions: pile-up, not use for collision time, not use for event plane, etc.
72 BLC_idChan, // channels ID: 1st on absolute, then increment
73 BLC_qtcChain, // ADC chain
74 BLC_cfdTime, // CFD time
75 BLC_qtcAmpl // amplitude
76 };
77
79};
80
81} // namespace ft0
82} // namespace o2
83
84#endif
<<======================== Auxiliary classes =======================<<
struct o2::upgrades_utils::@462 ft0
structure to keep V0C information
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 firstOrbit
number of triggers in TF
Definition CTF.h:31
uint16_t firstBC
1st orbit of TF
Definition CTF.h:32
ClassDefNV(CTFHeader, 3)
uint32_t nTriggers
Definition CTF.h:30
uint16_t triggerGate
1st BC of TF
Definition CTF.h:33
wrapper for the Entropy-encoded clusters of the TF
Definition CTF.h:63
static constexpr size_t N
Definition CTF.h:65
ClassDefNV(CTF, 1)
@ BLC_status
Definition CTF.h:71
@ BLC_idChan
Definition CTF.h:72
@ BLC_qtcChain
Definition CTF.h:73
@ BLC_bcInc
Definition CTF.h:68
@ BLC_qtcAmpl
Definition CTF.h:75
@ BLC_trigger
Definition CTF.h:67
@ BLC_cfdTime
Definition CTF.h:74
@ BLC_nChan
Definition CTF.h:70
@ BLC_orbitInc
Definition CTF.h:69
Intermediate, compressed but not yet entropy-encoded digits.
Definition CTF.h:38
std::vector< uint8_t > trigger
Definition CTF.h:43
std::vector< uint8_t > idChan
Definition CTF.h:50
std::vector< uint8_t > eventStatus
Definition CTF.h:47
std::vector< int16_t > bcInc
Definition CTF.h:44
std::vector< uint8_t > nChan
Definition CTF.h:46
std::vector< int32_t > orbitInc
Definition CTF.h:45
std::vector< int32_t > qtcAmpl
Definition CTF.h:52
ClassDefNV(CompressedDigits, 1)
std::vector< int16_t > cfdTime
Definition CTF.h:51
std::vector< uint8_t > qtcChain
Definition CTF.h:53