2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
8 TRT_DriftCircle::getWord() const
14 TRT_DriftCircle::driftTimeBin() const
16 if (!m_island.isValid()) {
18 TRT_LoLumRawData::findLargestIsland(m_word, tmpIsland);
19 m_island.set(tmpIsland);
21 return m_island.ptr()->m_leadingEdge;
25 TRT_DriftCircle::trailingEdge() const
27 if (!m_island.isValid()) {
29 TRT_LoLumRawData::findLargestIsland(m_word, tmpIsland);
30 m_island.set(tmpIsland);
32 return m_island.ptr()->m_trailingEdge;
36 TRT_DriftCircle::highLevel() const
38 return TRT_LoLumRawData::highLevel(m_word);
42 TRT_DriftCircle::firstBinHigh() const
44 return (m_word & 0x02000000);
48 TRT_DriftCircle::lastBinHigh() const
50 return (m_word & 0x1);
54 TRT_DriftCircle::timeOverThreshold() const {
55 unsigned int leadingEdge = driftTimeBin();
56 unsigned int trailingEdge = this->trailingEdge();
57 if (leadingEdge && trailingEdge) {
58 return (trailingEdge - leadingEdge + 1) *
59 TRT_LoLumRawData::getDriftTimeBinWidth();
65 TRT_DriftCircle::rawDriftTime() const {
66 return (driftTimeBin() + 0.5) * TRT_LoLumRawData::getDriftTimeBinWidth();
70 TRT_DriftCircle::driftTimeValid() const
72 return m_word & 0x08000000;
76 TRT_DriftCircle::driftTime(bool& valid) const
78 valid = driftTimeValid();
79 return rawDriftTime();
83 TRT_DriftCircle::setDriftTimeValid(bool valid)
85 unsigned maskfalse = 0xF7FFFFFF;
86 unsigned masktrue = 0x08000000;
96 TRT_DriftCircle::numberOfHighsBetweenEdges() const
98 // should return always 0 with the largest island algorithm
99 int LE = driftTimeBin();
100 int TE = trailingEdge();
101 unsigned mask = 0x02000000;
104 for (i = 0; i < 24; ++i) {
105 if ((m_word & mask) && i >= LE && i <= TE)
108 if (i == 7 || i == 15)
115 TRT_DriftCircle::numberOfLowsBetweenEdges() const
117 // should return always 0 with the largest island algorithm
118 int LE = driftTimeBin();
119 int TE = trailingEdge();
120 return (TE - LE + 1 - numberOfHighsBetweenEdges());
124 TRT_DriftCircle::isNoise() const
126 if (numberOfHighsBetweenEdges() < 3)
128 if (timeOverThreshold() < 7.)
134 TRT_DriftCircle::type(Trk::PrepRawDataType type) const
136 return type == Trk::PrepRawDataType::TRT_DriftCircle;
139 inline const InDetDD::TRT_BaseElement*
140 TRT_DriftCircle::detectorElement() const