5#ifndef _Trk_PRDtoTrackMap_H_
6#define _Trk_PRDtoTrackMap_H_
8#include <unordered_map>
20 std::unordered_map<
const Track*,
21 std::vector<const PrepRawData*>,
22 std::hash<const Track*>,
23 std::equal_to<const Track*>,
26 std::vector<const PrepRawData*>>>
32 std::hash<const PrepRawData*>,
33 std::equal_to<const PrepRawData*>,
35 std::pair<const PrepRawData* const, const Track*>>
40 std::pair<PrepRawDataTrackMap::iterator, PrepRawDataTrackMap::iterator>;
43 std::pair<PrepRawDataTrackMap::const_iterator,
44 PrepRawDataTrackMap::const_iterator>;
53 virtual const std::type_info&
getType()
const;
78 void reserve(
size_t nTracks,
size_t nRawData);
91#ifndef CLIDSVC_CLASSDEF_H
STL-style allocator wrapper for ArenaPoolAllocator.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
STL-style allocator wrapper for ArenaPoolAllocator.
bool isUsed(const PrepRawData &prd) const
does this PRD belong to at least one track?
PRDtoTrackMap & operator=(const PRDtoTrackMap &a)=default
std::unordered_multimap< const PrepRawData *, const Track *, std::hash< const PrepRawData * >, std::equal_to< const PrepRawData * >, SG::ArenaPoolSTLAllocator< std::pair< const PrepRawData *const, const Track * > > > PrepRawDataTrackMap
PRDtoTrackMap(const PRDtoTrackMap &a)=default
PrepRawDataTrackMapRange onTracks(const PrepRawData &prd)
get the Tracks associated with this PrepRawData.
PRDtoTrackMap & operator=(PRDtoTrackMap &&a) noexcept=default
std::pair< PrepRawDataTrackMap::const_iterator, PrepRawDataTrackMap::const_iterator > ConstPrepRawDataTrackMapRange
void reserve(size_t nTracks, size_t nRawData)
TrackPrepRawDataMap m_trackPrepRawDataMap
holds the PRDs associated with each Track (i.e.
std::pair< PrepRawDataTrackMap::iterator, PrepRawDataTrackMap::iterator > PrepRawDataTrackMapRange
ConstPrepRawDataTrackMapRange onTracks(const PrepRawData &prd) const
get the Tracks associated with this PrepRawData.
PrepRawDataTrackMap m_prepRawDataTrackMap
holds the tracks associated with each PRD (i.e.
PRDtoTrackMap(PRDtoTrackMap &&a) noexcept=default
virtual const std::type_info & getType() const
std::vector< const Trk::PrepRawData * > getPrdsOnTrack(const Track &track) const
returns a vector of PRDs belonging to the passed track.
virtual ~PRDtoTrackMap()=default
bool isShared(const PrepRawData &prd) const
does this PRD belong to more than one track?
std::unordered_map< const Track *, std::vector< const PrepRawData * >, std::hash< const Track * >, std::equal_to< const Track * >, SG::ArenaPoolSTLAllocator< std::pair< const Track *const, std::vector< const PrepRawData * > > > > TrackPrepRawDataMap
Ensure that the ATLAS eigen extensions are properly loaded.