366{
367
368
369 if (!trk) {
370 theclass->message(
"ERROR: Received null track pointer!");
371 return;
372 }
373 std::map< const Trk::PrepRawData*,TracksAndSegments >::iterator itInfo;
374 std::map< const Trk::PrepRawData *, QList<PRDHandleBase *> >::const_iterator itHandle, itHandleEnd(
prd2handles->end());
378 const Trk::PrepRawData * prd;
381 std::vector<const Trk::PrepRawData*>::const_iterator itPrd = prds.begin(), itEnd=prds.end();
382 for (;itPrd!=itEnd;++itPrd){
383 prd = *itPrd;
384 if (prd) {
388 TracksAndSegments((outliers?std::vector<const Trk::Track*>():std::vector<const Trk::Track*>(1,trk)),
389 (outliers?std::vector<const Trk::Track*>(1,trk):std::vector<const Trk::Track*>()),
390 std::vector< const Trk::Segment* >())));
391 } else {
392 if (outliers)
393 itInfo->second.tracks_outliers.push_back(trk);
394 else
395 itInfo->second.tracks.push_back(trk);
396 }
398 if (itHandle!=itHandleEnd) {
399 QList<PRDHandleBase*> handles = itHandle->second;
400 for (PRDHandleBase*handle : handles)
401 if (handle->collHandle()->colourByTracks())
402 handle->updateMaterial();
403 }
404 }
405 }
406 }
407
408
409}
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
const DataVector< const MeasurementBase > * outliersOnTrack() const
return a pointer to a vector of MeasurementBase, which represent outliers (i.e.