ATLAS Offline Software
PRDtoTrackMap.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 inline const std::type_info&
6 Trk::PRDtoTrackMap::getType() const
7 {
8  return typeid(PRDtoTrackMap);
9 }
10 
11 inline Trk::PRDtoTrackMap::PrepRawDataTrackMapRange
12 Trk::PRDtoTrackMap::onTracks(const PrepRawData& prd)
13 {
14  return m_prepRawDataTrackMap.equal_range(&prd);
15 }
16 
17 inline Trk::PRDtoTrackMap::ConstPrepRawDataTrackMapRange
18 Trk::PRDtoTrackMap::onTracks(const PrepRawData& prd) const
19 {
20  return m_prepRawDataTrackMap.equal_range(&prd);
21 }
22 
23 inline void
24 Trk::PRDtoTrackMap::reserve(size_t nTracks, size_t nRawData) {
25  m_prepRawDataTrackMap.reserve(nRawData);
26  m_trackPrepRawDataMap.reserve(nTracks);
27 }
28 
29 inline void
30 Trk::PRDtoTrackMap::clear()
31 {
32  m_prepRawDataTrackMap.clear();
33  m_trackPrepRawDataMap.clear();
34 }
35 
36 inline std::vector<const Trk::PrepRawData*>
37 Trk::PRDtoTrackMap::getPrdsOnTrack(const Track& track) const
38 {
39  PRDtoTrackMap::TrackPrepRawDataMap::const_iterator itvec =
40  m_trackPrepRawDataMap.find(&track);
41  if (itvec != m_trackPrepRawDataMap.end()) {
42  return itvec->second;
43  }
44  return std::vector<const PrepRawData*>();
45 }
46 
47 inline bool
48 Trk::PRDtoTrackMap::isUsed(const PrepRawData& prd) const
49 {
50  return (m_prepRawDataTrackMap.find(&prd) != m_prepRawDataTrackMap.end());
51 }
52 
53 inline bool
54 Trk::PRDtoTrackMap::isShared(const PrepRawData& prd) const
55 {
56  return (m_prepRawDataTrackMap.count(&prd) > 1);
57 }