17#ifndef ALICEO2_ITSMFT_TRACKING_TimeFrameScratch_H_
18#define ALICEO2_ITSMFT_TRACKING_TimeFrameScratch_H_
44 std::shared_ptr<BoundedMemoryResource> mMemoryPool;
57 gsl::span<const std::size_t> trackletLookupSizes);
97 std::vector<bounded_vector<Triplet>>
mCells;
105 void clearResizeEdgeStorage(std::size_t nEdges);
106 void clearResizeCellStorage(std::size_t nCells);
108 std::size_t mNEdges{0};
109 std::size_t mNCells{0};
CA geometric triplet types with hole-layer support.
TimeFrameScratch & operator=(TimeFrameScratch &&)=delete
size_t getNumberOfTracklets() const
auto & getCellsLabel(int layer)
float getEdgePhiCut(int edgeId) const
std::vector< bounded_vector< o2::MCCompLabel > > mTrackletLabels
std::vector< bounded_vector< int > > mCellsLookupTable
std::vector< bounded_vector< Triplet > > mCells
float getEdgeMSAngle(int edgeId) const
auto & getCellsNeighboursTopology()
std::vector< bounded_vector< int > > mTrackletsLookupTable
void beginIteration(std::size_t nEdges, std::size_t nCells, gsl::span< const std::size_t > trackletLookupSizes)
void setMemoryPool(std::shared_ptr< BoundedMemoryResource > pool)
Reseat allocator-backed containers.
TimeFrameScratch & operator=(const TimeFrameScratch &)=delete
bounded_vector< float > mEdgePhiCuts
TimeFrameScratch(const TimeFrameScratch &)=delete
size_t getNumberOfNeighbours() const
std::size_t getNCells() const noexcept
auto & getMemoryPool() const noexcept
auto & getTrackletsLookupTable()
std::vector< bounded_vector< int > > mCellsNeighboursLUT
std::vector< bounded_vector< int > > mCellsNeighbours
auto & getCellsNeighbours()
std::size_t getNEdges() const noexcept
auto & getCellsLookupTable()
~TimeFrameScratch()=default
TimeFrameScratch()=default
size_t getNumberOfCells() const
std::vector< bounded_vector< int > > mCellsNeighboursTopology
std::vector< bounded_vector< Tracklet > > mTracklets
void configureStorage(std::size_t nEdges, std::size_t nCells)
Size reusable edge and cell storage; setMemoryPool() comes first.
void reset()
Clear iteration state without changing plan sizes.
const auto & getCells() const
bounded_vector< float > mEdgeMSAngles
std::vector< bounded_vector< o2::MCCompLabel > > mCellLabels
void clearStorage() noexcept
Release plan-sized storage while preserving this object's identity.
auto & getCellsNeighboursLUT()
auto & getTrackletsLabel(int layer)
TimeFrameScratch(TimeFrameScratch &&)=delete
GLenum GLuint GLint GLint layer
uint32_t trackClusterIndicesSize noexcept
std::pmr::vector< T > bounded_vector