16#ifndef TRACKINGITSU_INCLUDE_TRACKERTRAITS_H_
17#define TRACKINGITSU_INCLUDE_TRACKERTRAITS_H_
19#include <oneapi/tbb.h>
57 virtual void findRoads(
const int iteration);
59 template <
typename InputSeed>
71 virtual void setBz(
float bz);
73 virtual const char*
getName() const noexcept {
return "CPU"; }
74 virtual bool isGPU() const noexcept {
return false; }
75 void setMemoryPool(std::shared_ptr<BoundedMemoryResource> pool)
noexcept { mMemoryPool = pool; }
79 void setNThreads(
int n, std::shared_ptr<tbb::task_arena>& arena);
88 std::shared_ptr<BoundedMemoryResource> mMemoryPool;
89 std::shared_ptr<tbb::task_arena> mTaskArena;
106 const Cluster*
const* unsortedClusters,
o2::gpu::GPUChainITS * mChain
void markTracks(int iteration)
TimeFrame< NLayers > * mTimeFrame
virtual void findRoads(const int iteration)
virtual const char * getName() const noexcept
void updateTrackingParameters(const std::vector< TrackingParameters > &trkPars)
void processNeighbours(int iteration, int defaultCellTopologyId, int iLevel, const bounded_vector< InputSeed > ¤tCellSeed, const bounded_vector< int > ¤tCellId, const bounded_vector< int > ¤tCellTopologyId, bounded_vector< TrackSeedN > &updatedCellSeed, bounded_vector< int > &updatedCellId, bounded_vector< int > &updatedCellTopologyId)
virtual void initialiseTimeFrame(const int iteration)
TimeFrame< NLayers > * getTimeFrame()
virtual void adoptTimeFrame(TimeFrame< NLayers > *tf)
virtual int getTFNumberOfClusters() const
virtual void findCellsNeighbours(const int iteration)
void setMemoryPool(std::shared_ptr< BoundedMemoryResource > pool) noexcept
virtual int getTFNumberOfTracklets() const
virtual void computeLayerCells(const int iteration)
std::vector< TrackingParameters > mTrkParams
virtual void setBz(float bz)
void setNThreads(int n, std::shared_ptr< tbb::task_arena > &arena)
virtual bool isGPU() const noexcept
void acceptTracks(int iteration, bounded_vector< TrackITSExt > &tracks, const bounded_vector< int > &trackIndices, bounded_vector< bounded_vector< int > > &firstClusters)
virtual int getTFNumberOfCells() const
virtual void computeLayerTracklets(const int iteration, int iVertex)
auto getMemoryPool() const noexcept
bool finaliseTrackSeed(const TrackSeedN &seed, TrackITSExt &track, const int iteration, const TrackingFrameInfo *const *tfInfos, const Cluster *const *unsortedClusters, const o2::base::Propagator *propagator)
virtual ~TrackerTraits()=default
std::pmr::vector< T > bounded_vector
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
std::unique_ptr< GPUReconstructionTimeframe > tf
bounded_vector< TrackExtensionHypothesis< NLayers > > activeHypotheses
TrackFollowerScratch(std::pmr::memory_resource *memoryResource)
bounded_vector< TrackExtensionHypothesis< NLayers > > nextHypotheses