14 #include "ext/functional"
25 return StatusCode::SUCCESS;
29 return std::make_unique<Trk::PRDtoTrackMapTool::PRDtoTrackMap>();
33 return std::move(obj_in);
40 <<
" but got " << virt_prd_to_track_map.
getType().name()
41 <<
" . The tool can only handle a map created by the same tool. ");
42 throw std::logic_error(
"Type mismap between tool and map");
44 assert(
dynamic_cast<PRDtoTrackMap *
>(&virt_prd_to_track_map) !=
nullptr );
49 ensureType(virt_prd_to_track_map);
56 ATH_MSG_ERROR (
"track already found in cache, should not happen");
57 return StatusCode::FAILURE;
60 std::vector< const Trk::PrepRawData* > prds = getPrdsOnTrack(prd_to_track_map,
track );
72 return StatusCode::SUCCESS;
79 ensureType(virt_prd_to_track_map);
84 std::vector< const Trk::PrepRawData* > prds = getPrdsOnTrack(prd_to_track_map,
track);
94 if (conTrack!=&
track) {
96 connectedTracks.insert(conTrack);
101 "\tsize of list now:"<<connectedTracks.size());
104 return connectedTracks;
108 std::vector< const Trk::PrepRawData* >
112 using PRDs_t = std::vector<const Trk::PrepRawData *>;
114 ensureType(virt_prd_to_track_map);
121 ATH_MSG_VERBOSE (
"found track in cache, return cached PRD vector for track");
122 return itvec->second;
125 if (!
track.measurementsOnTrack()) {
138 vec.reserve(
track.measurementsOnTrack()->size());
146 if ( m_idHelperSvc->isMuon(rot_id) && !m_idHelperSvc->isMdt(rot_id) && !m_idHelperSvc->isMM(rot_id) && !m_idHelperSvc->issTgc(rot_id) &&
147 (!m_idHelperSvc->isCsc(rot_id) || m_idHelperSvc->measuresPhi(rot_id)) )
return;
163 if (!competingROT) {
continue;}
165 for(
unsigned int i=0;
i<numROTs;++
i ){