21 const EventContext& ctx)
24 Cache& c = *slots.get (ctx);
25 std::lock_guard lock (c.m_mutex);
26 if (c.m_evt != ctx.evt()) {
31 key_t key (track, cluster);
32 auto it = c.m_map.try_emplace (key, std::unique_ptr<eflowTrackClusterLink>()).first;
34 it->second = std::make_unique<eflowTrackClusterLink>(track,cluster);
36 return it->second.get();
Maintain a set of objects, one per slot.
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
Maintain a set of objects, one per slot.
This class extends the information about a xAOD::CaloCluster.
This class extends the information about a xAOD::Track.
Stores pointers to an eflowRecTrack and an eflowRecCluster.
std::pair< eflowRecTrack *, eflowRecCluster * > key_t
static eflowTrackClusterLink * getInstance(eflowRecTrack *track, eflowRecCluster *cluster, const EventContext &ctx=Gaudi::Hive::currentContext())