|
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef EFLOWTRACKCLUSTERLINK_H_
13 #define EFLOWTRACKCLUSTERLINK_H_
16 #include <unordered_map>
21 #include "GaudiKernel/ToolHandle.h"
22 #include "GaudiKernel/EventContext.h"
23 #include "GaudiKernel/ThreadLocalContext.h"
46 const EventContext& ctx = Gaudi::Hive::currentContext());
59 using key_t = std::pair<eflowRecTrack*, eflowRecCluster*>;
64 return std::hash<eflowRecTrack*>()(
k.first) ^
65 std::hash<eflowRecCluster*>()(
k.second);
71 std::unordered_map<key_t, std::unique_ptr<eflowTrackClusterLink>,
Hasher >
m_map;
72 EventContext::ContextEvt_t
m_evt =
static_cast<EventContext::ContextEvt_t
>(-1);
This class extends the information about a xAOD::CaloCluster.
const eflowRecCluster * getCluster() const
size_t operator()(const key_t &k) const
eflowRecTrack * getTrack()
const std::vector< double > & getClusterIntegral() const
std::pair< eflowRecTrack *, eflowRecCluster * > key_t
Stores pointers to an eflowRecTrack and an eflowRecCluster.
eflowRecCluster * m_cluster
This class extends the information about a xAOD::Track.
std::vector< double > m_clusterIntegral
const eflowRecTrack * getTrack() const
Workaround x86 precision issues for FP inequality comparisons.
eflowRecCluster * getCluster()
static eflowTrackClusterLink * getInstance(eflowRecTrack *track, eflowRecCluster *cluster, const EventContext &ctx=Gaudi::Hive::currentContext())
std::unordered_map< key_t, std::unique_ptr< eflowTrackClusterLink >, Hasher > m_map
virtual ~eflowTrackClusterLink()
eflowTrackClusterLink(eflowRecTrack *track, eflowRecCluster *cluster)
void setClusterIntegral(const std::vector< double > &clusterIntegral)
EventContext::ContextEvt_t m_evt