diff --git a/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ConfigurationCondData.cxx b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ConfigurationCondData.cxx index c637c9d2c4009ed54a0e05fca0bf910cbce854ce..ae7654ce10993641092de72fae455a1844576d88 100644 --- a/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ConfigurationCondData.cxx +++ b/InnerDetector/InDetConditions/SCT_ConditionsData/src/SCT_ConfigurationCondData.cxx @@ -102,8 +102,12 @@ bool SCT_ConfigurationCondData::isBadModuleId(const Identifier& moduleId) const void SCT_ConfigurationCondData::setBadLinks(const IdentifierHash& hash, const bool isBadLink0, const bool isBadLink1) { unsigned int iHash{hash}; iHash = (iHash/2)*2; // Make iHash even - m_badLinks[iHash].first &= isBadLink0; - m_badLinks[iHash].second &= isBadLink1; + if (m_badLinks.count(iHash)==0) { + m_badLinks.insert(std::pair<IdentifierHash, std::pair<bool, bool>>(iHash, std::pair<bool, bool>(isBadLink0, isBadLink1))); + } else { + m_badLinks[iHash].first &= isBadLink0; + m_badLinks[iHash].second &= isBadLink1; + } m_badLinksArray[iHash/2].first &= isBadLink0; m_badLinksArray[iHash/2].second &= isBadLink1; }