diff --git a/TileCalorimeter/TileConditions/TileConditions/TileBadChannels.h b/TileCalorimeter/TileConditions/TileConditions/TileBadChannels.h index bf7864a810d92946eadd8df2079f801e2b111701..961349edd20c5cd72310540f6d10a452fdb83195 100644 --- a/TileCalorimeter/TileConditions/TileConditions/TileBadChannels.h +++ b/TileCalorimeter/TileConditions/TileConditions/TileBadChannels.h @@ -1,7 +1,7 @@ //Dear emacs, this is -*- c++ -*- /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration */ #ifndef TILECONDITIONS_TILEBADCHANNELS_H @@ -76,6 +76,8 @@ class TileBadChannels { */ const std::vector<int>& getMaskedDrawers(void) const {return m_maskedDrawers;}; + static uint32_t encodeStatus(const TileBchStatus& status); + uint32_t encodeAdcStatus(const HWIdentifier adc_id) const; private: diff --git a/TileCalorimeter/TileConditions/src/TileBadChanTool.cxx b/TileCalorimeter/TileConditions/src/TileBadChanTool.cxx index 9b70a2572c63bf870fbf957a7e1de7276db6f25b..d8bafd6ba098ab5ea80db8aa438aa2bd06a54bc2 100644 --- a/TileCalorimeter/TileConditions/src/TileBadChanTool.cxx +++ b/TileCalorimeter/TileConditions/src/TileBadChanTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration */ // Tile includes @@ -237,22 +237,7 @@ TileBadChanTool::getAdcStatus(unsigned int drawerIdx, unsigned int channel, unsi uint32_t TileBadChanTool::encodeStatus(const TileBchStatus& status) const { - - uint32_t bad; - - if (status.isGood()) - bad = 0; - else if (status.isBad()) - bad = 3; - else if (status.isNoisy()) - bad = 1; - else if (status.isAffected()) - bad = 2; - else - bad = 4; - - return bad; - + return TileBadChannels::encodeStatus(status); } const std::vector<float>& TileBadChanTool::getTripsProbabilities(unsigned int ros, const EventContext& ctx) const { diff --git a/TileCalorimeter/TileConditions/src/TileBadChannels.cxx b/TileCalorimeter/TileConditions/src/TileBadChannels.cxx index 1eae947303145a25900b6420fe4138d5737ec727..f670f7654923d97a7fa9f1f6f57af4703fec3275 100644 --- a/TileCalorimeter/TileConditions/src/TileBadChannels.cxx +++ b/TileCalorimeter/TileConditions/src/TileBadChannels.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration */ #include "TileConditions/TileBadChannels.h" @@ -48,3 +48,25 @@ void TileBadChannels::setMaskedDrawers(std::vector<int>&& maskedDrawers) { m_maskedDrawers = std::move(maskedDrawers); std::sort (m_maskedDrawers.begin(), m_maskedDrawers.end()); } + +uint32_t TileBadChannels::encodeStatus(const TileBchStatus& status) { + uint32_t bad; + + if (status.isGood()) { + bad = 0; + } else if (status.isBad()) { + bad = 3; + } else if (status.isNoisy()) { + bad = 1; + } else if (status.isAffected()) { + bad = 2; + } else { + bad = 4; + } + + return bad; +} + +uint32_t TileBadChannels::encodeAdcStatus(const HWIdentifier adc_id) const { + return encodeStatus(getAdcStatus(adc_id)); +}