ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_RawDataReadOut_charge.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6
26
29
31
32{
33
34 // Zero all the decoded quantities
35 setZero();
36 m_dataWord = dataWord;
37 m_word = dataWord;
39
40 if (is_TDCch()) // TDC single measurement
41 {
42
43 m_PMFId = getBits(getBitsWord(23,19));
45 m_bit12 = (bool) getBits(getBitsWord(12,12));
47
48 m_MBId = getBits(getBitsWord(7,0)); // PMF0 - PMFId 0 -> position from 1-15
49 m_FiberFirmwareId = getBits(getBitsWord(15,8)); // PMF0 - PMFId 0
50
52
53 }
54
55
56 else if (is_BOT()) // Beginning of TDC
57 {
58 // One header bit is used for TDC numbers > 15
61 m_bcId = getBits(getBitsWord(11,0));
62 }
63 else if (is_EOT()) // End of TDC
64 {
67 m_wcnt = getBits(getBitsWord(11,0));
69 }
70
71
72
73}
74
75
77{
78 m_SlotId = 0;
79 m_LsbTdcId = 0;
80 m_ecnt_BOT = 0;
81 m_ecnt_EOT = 0;
82 m_bcId = 0;
83 m_wcnt = 0;
84 m_PMFId = 0;
88 m_bit12=false;
89 m_MBId = 0;
90 m_bit24_27=0;
91 m_bit27_24=0;
92
93}
94
95//-------------------------------------------------------------------------
static constexpr uint16_t s_headerBits
static constexpr uint16_t s_headerPos
uint32_t m_word
constexpr std::pair< uint32_t, uint16_t > getBitsWord(const uint16_t bstart, const uint16_t bstop)
uint32_t getBits(std::pair< uint32_t, uint16_t > in)