TRT_BaseElement continue MT refactoring: Use CachedValue instead of mutable/mutex
ATLASRECTS-5781 (ATR-22378) : Breaking in parts as trying to do all thing together back fired ....
The main changes:
- mutable std::vector<const Trk::Surface*> m_surfaces ATLAS_THREAD_SAFE; // Guarded by m_mutex
- mutable std::mutex m_mutex;
becomes
CxxUtils::CachedValue<std::vector<const Trk::Surface*>> m_surfaces;
Use a helper function for setting the "straw" caches.
- Use ovverride/final/remove virtual where applicable/possible.
Mentiong @oda