diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h index 384c9bbc27c771f8d3ba817e2d2c04ee316380cf..abfcc899678a15476a2361d9adf49328d6830953 100644 --- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h +++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/L1CaloFEXSim/eTowerContainer.h @@ -27,6 +27,8 @@ #include "CxxUtils/CachedValue.h" #include "AthLinks/tools/findInContainer.h" +#include <unordered_map> + namespace LVL1 { class eTowerContainer : public DataVector<LVL1::eTower> @@ -74,7 +76,7 @@ class eTowerContainer : public DataVector<LVL1::eTower> IMessageSvc* msgSvc() const; //* @brief Keeps track of the towerID of each eTower associated to each MAP index *. - std::map<int,int> m_map_towerID_containerIndex; + std::unordered_map<int,int> m_map_towerID_containerIndex; }; } diff --git a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx index fa33867d63a1c01999f1a5821eecf6a43041a17f..e67927a06de78d4b2fa9b2774c16d67f1f3a7c2a 100644 --- a/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx +++ b/Trigger/TrigT1/L1CaloFEX/L1CaloFEXSim/src/eTowerContainer.cxx @@ -29,24 +29,24 @@ void eTowerContainer::print() const { } -const LVL1::eTower * eTowerContainer::findTower(int towerID) const -{ - int container_index = -1; - container_index = m_map_towerID_containerIndex.find(towerID)->second; - if(container_index >= 0){ +const LVL1::eTower * eTowerContainer::findTower(int towerID) const{ + const auto it = m_map_towerID_containerIndex.find(towerID); + + const int container_index = it->second; + if (container_index < 0) { + return nullptr; + } return (*this)[container_index]; - } - return nullptr; } -LVL1::eTower * eTowerContainer::findTower(int towerID) -{ - int container_index = -1; - container_index = m_map_towerID_containerIndex.find(towerID)->second; - if(container_index >= 0){ +LVL1::eTower * eTowerContainer::findTower(int towerID){ + const auto it = m_map_towerID_containerIndex.find(towerID); + + const int container_index = it->second; + if (container_index < 0) { + return nullptr; + } return (*this)[container_index]; - } - return nullptr; } void eTowerContainer::clearContainerMap()