ExpressionEvaluation: make IProxyLoader::load interfaces const
Another step in making ExpressionEvaluation
pass the thread-checker. Here we make all the load
interfaces const
. This doesn't result in any functional changes. The last step will be to decide what to do with the non-const variableTypeFromString
which is responsible for filling the accessor cache.
Relates to ATLASRECTS-7369.
Merge request reports
Activity
This merge request affects 1 package:
- PhysicsAnalysis/CommonTools/ExpressionEvaluation
This merge request affects 13 files:
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/IProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/MultipleProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/SGNTUPProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/SGxAODProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/TestProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/TriggerDecisionProxyLoader.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/ExpressionEvaluation/xAODVariableProxyLoaders.h
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/MultipleProxyLoader.cxx
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/TestProxyLoader.cxx
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/Root/xAODVariableProxyLoaders.cxx
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/src/SGNTUPProxyLoader.cxx
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/src/SGxAODProxyLoader.cxx
- PhysicsAnalysis/CommonTools/ExpressionEvaluation/src/TriggerDecisionProxyLoader.cxx
added Analysis Trigger master review-pending-level-1 labels
CI Result SUCCESS (hash 2962e33e)Athena AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 62462]removed review-pending-level-1 label
added review-approved label
- Resolved by Frank Winklmeier
Hey
IProxyLoader::VariableType MultipleProxyLoader::variableTypeFromString(const std::string &varname) 0037 { 0038 if (m_varnameToProxyLoader.find(varname) != m_varnameToProxyLoader.end()) { 0039 return m_varnameToProxyLoader[varname]->variableTypeFromString(varname); 0040 } 0041 0042 IProxyLoader::VariableType result; 0043 bool foundProxyLoader(false); 0044 for (const auto &proxyLoader : m_proxyLoaders) { 0045 try { 0046 result = proxyLoader->variableTypeFromString(varname); 0047 if (result == VT_UNK) continue; 0048 } catch (const std::runtime_error &) { 0049 continue; 0050 } 0051 foundProxyLoader = true; 0052 m_varnameToProxyLoader[varname] = proxyLoader; 0053 break; 0054 } 0055 if (!foundProxyLoader) { 0056 throw std::runtime_error("MultipleProxyLoader: unable to find valid proxy loader for "+varname); 0057 } 0058 return result; 0059 }
this I can see . Are also the other
overrides
problematic? Here we need prb either some lock or someconcurrent map
form_varnameToProxyLoader
?Edited by Christos Anastopoulos
mentioned in commit e5dd71c3
added sweep:ignore label