12#ifndef ALICEO2_ITSMFT_TRACKING_TEST_TRAVERSALTESTSUPPORT_H_
13#define ALICEO2_ITSMFT_TRACKING_TEST_TRAVERSALTESTSUPPORT_H_
27 std::array<gsl::span<const GlobalMeasurement>,
MaxLayoutSurfaces>& measurementSpans)
29 const auto* configuration = iteration < 0 ? nullptr : tracker.
getIterationConfiguration(
static_cast<std::size_t
>(iteration));
31 throw std::out_of_range{
"test traversal iteration"};
34 auto layerGlobalMeasurements = tracker.prepareTimeFrame(frame, measurementSpans);
38 configuration->getTopologyView(frame.getDetectorConfiguration().getSurfaceCatalog()),
40 layerGlobalMeasurements,
42 tracker.initializeIteration(view);
53 traits.computeLayerCells(view, view.
iteration);
58 traits.findCellsNeighbours(view, view.
iteration);
62 int cellPathId,
const Triplet& cell,
65 return traits.buildTrackSeed(view, cellPathId, cell,
output);
75 tracker.computeTracksMClabels(frame);
80 tracker.configureBeamPosition(frame);
GPU-portable whole-track seed for common CA tracking.
const IterationConfiguration * getIterationConfiguration(std::size_t iteration) const noexcept
bool isConfiguredFor(const TimeFrame &frame) const noexcept
constexpr uint32_t MaxLayoutSurfaces
TimeFrameScratch & getScratch()
static void findRoads(TrackerTraits &traits, IterationContext &view)
static IterationContext prepare(Tracker &tracker, TimeFrame &frame, int iteration, std::array< gsl::span< const GlobalMeasurement >, MaxLayoutSurfaces > &measurementSpans)
static void configureBeamPosition(Tracker &tracker, TimeFrame &frame)
static void computeCells(TrackerTraits &traits, IterationContext &view)
static void computeTracksMClabels(Tracker &tracker, TimeFrame &frame)
static bool buildTrackSeed(TrackerTraits &traits, IterationContext &view, int cellPathId, const Triplet &cell, TrackSeed &output)
static void computeTracklets(TrackerTraits &traits, IterationContext &view, int vertex)
static void findNeighbours(TrackerTraits &traits, IterationContext &view)