@@ -57,6 +57,10 @@ class ROFRecord;
5757namespace its
5858{
5959
60+ using o2::itsmft::tracking::bounded_vector;
61+ using o2::itsmft::tracking::BoundedMemoryResource;
62+ using o2::itsmft::tracking::CapacityEstimator;
63+
6064namespace gpu
6165{
6266template <int >
@@ -179,7 +183,7 @@ struct TimeFrame {
179183 gsl::span<const MCCompLabel> getClusterLabels (int layerId, const int clId) const { return mClusterLabels [((mIsStaggered ) ? layerId : 0 )]->getLabels (mClusterExternalIndices [layerId][clId]); }
180184 int getClusterExternalIndex (int layerId, const int clId) const { return mClusterExternalIndices [layerId][clId]; }
181185 int getClusterSize (int layer, int clusterId) const { return mClusterSize [layer][clusterId]; }
182- void setClusterSize (int layer, o2::itsmft::tracking:: bounded_vector<uint8_t >& v) { mClusterSize [layer] = std::move (v); }
186+ void setClusterSize (int layer, bounded_vector<uint8_t >& v) { mClusterSize [layer] = std::move (v); }
183187
184188 auto & getTrackletsLabel (int layer) { return mTrackletLabels [layer]; }
185189 auto & getCellsLabel (int layer) { return mCellLabels [layer]; }
@@ -222,7 +226,7 @@ struct TimeFrame {
222226 size_t getNExtendedClusters () const { return mNExtendedClusters ; }
223227
224228 // / memory management
225- void setMemoryPool (std::shared_ptr<o2::itsmft::tracking:: BoundedMemoryResource> pool);
229+ void setMemoryPool (std::shared_ptr<BoundedMemoryResource> pool);
226230 auto & getMemoryPool () const noexcept { return mMemoryPool ; }
227231 bool checkMemory (unsigned long max) { return getArtefactsMemory () < max; }
228232 unsigned long getArtefactsMemory () const ;
@@ -231,8 +235,8 @@ struct TimeFrame {
231235 // / staggering
232236 void setIsStaggered (bool b) noexcept { mIsStaggered = b; }
233237
234- o2::itsmft::tracking:: CapacityEstimator& getCapacityEstimator () noexcept { return mCapacityEstimator ; }
235- const o2::itsmft::tracking:: CapacityEstimator& getCapacityEstimator () const noexcept { return mCapacityEstimator ; }
238+ CapacityEstimator& getCapacityEstimator () noexcept { return mCapacityEstimator ; }
239+ const CapacityEstimator& getCapacityEstimator () const noexcept { return mCapacityEstimator ; }
236240
237241 // Vertexer
238242 void computeTrackletsPerROFScans ();
@@ -258,7 +262,7 @@ struct TimeFrame {
258262
259263 // / State if memory will be externally managed by the GPU framework
260264 ExternalAllocator* mExternalAllocator {nullptr };
261- std::shared_ptr<o2::itsmft::tracking:: BoundedMemoryResource> mExtMemoryPool ; // host memory pool managed by the framework
265+ std::shared_ptr<BoundedMemoryResource> mExtMemoryPool ; // host memory pool managed by the framework
262266 auto getFrameworkAllocator () { return mExternalAllocator ; };
263267 void setFrameworkAllocator (ExternalAllocator* ext);
264268 bool hasFrameworkAllocator () const noexcept { return mExternalAllocator != nullptr ; }
@@ -274,28 +278,28 @@ struct TimeFrame {
274278 void addTrackingFrameInfoToLayer (int layer, T&&... args);
275279 void addClusterExternalIndexToLayer (int layer, const int idx) { mClusterExternalIndices [layer].push_back (idx); }
276280
277- std::array<o2::itsmft::tracking:: bounded_vector<Cluster>, NLayers> mClusters ;
278- std::array<o2::itsmft::tracking:: bounded_vector<TrackingFrameInfo>, NLayers> mTrackingFrameInfo ;
279- std::array<o2::itsmft::tracking:: bounded_vector<int >, NLayers> mClusterExternalIndices ;
280- std::array<o2::itsmft::tracking:: bounded_vector<int >, NLayers> mROFramesClusters ;
281+ std::array<bounded_vector<Cluster>, NLayers> mClusters ;
282+ std::array<bounded_vector<TrackingFrameInfo>, NLayers> mTrackingFrameInfo ;
283+ std::array<bounded_vector<int >, NLayers> mClusterExternalIndices ;
284+ std::array<bounded_vector<int >, NLayers> mROFramesClusters ;
281285 std::array<const dataformats::MCTruthContainer<MCCompLabel>*, NLayers> mClusterLabels {nullptr };
282- std::array<o2::itsmft::tracking:: bounded_vector<int >, 2 > mNTrackletsPerCluster ;
283- std::array<o2::itsmft::tracking:: bounded_vector<int >, 2 > mNTrackletsPerClusterSum ;
284- std::array<o2::itsmft::tracking:: bounded_vector<int >, NLayers> mNClustersPerROF ;
285- std::array<o2::itsmft::tracking:: bounded_vector<int >, NLayers> mIndexTables ;
286- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mTrackletsLookupTable ;
287- std::array<o2::itsmft::tracking:: bounded_vector<uint8_t >, NLayers> mUsedClusters ;
288-
289- std::array<o2::itsmft::tracking:: bounded_vector<Cluster>, NLayers> mUnsortedClusters ;
290- std::vector<o2::itsmft::tracking:: bounded_vector<Tracklet>> mTracklets ;
291- std::vector<o2::itsmft::tracking:: bounded_vector<CellSeed>> mCells ;
292- o2::itsmft::tracking:: bounded_vector<TrackITSExt> mTracks ;
293- o2::itsmft::tracking:: bounded_vector<MCCompLabel> mTracksLabel ;
286+ std::array<bounded_vector<int >, 2 > mNTrackletsPerCluster ;
287+ std::array<bounded_vector<int >, 2 > mNTrackletsPerClusterSum ;
288+ std::array<bounded_vector<int >, NLayers> mNClustersPerROF ;
289+ std::array<bounded_vector<int >, NLayers> mIndexTables ;
290+ std::vector<bounded_vector<int >> mTrackletsLookupTable ;
291+ std::array<bounded_vector<uint8_t >, NLayers> mUsedClusters ;
292+
293+ std::array<bounded_vector<Cluster>, NLayers> mUnsortedClusters ;
294+ std::vector<bounded_vector<Tracklet>> mTracklets ;
295+ std::vector<bounded_vector<CellSeed>> mCells ;
296+ bounded_vector<TrackITSExt> mTracks ;
297+ bounded_vector<MCCompLabel> mTracksLabel ;
294298 size_t mNExtendedTracks = 0 ;
295299 size_t mNExtendedClusters = 0 ;
296- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mCellsNeighbours ;
297- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mCellsNeighboursTopology ;
298- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mCellsLookupTable ;
300+ std::vector<bounded_vector<int >> mCellsNeighbours ;
301+ std::vector<bounded_vector<int >> mCellsNeighboursTopology ;
302+ std::vector<bounded_vector<int >> mCellsLookupTable ;
299303
300304 const o2::base::PropagatorImpl<float >* mPropagatorDevice = nullptr ; // Needed only for GPU
301305
@@ -314,27 +318,27 @@ struct TimeFrame {
314318 bool isBeamPositionOverridden = false ;
315319 std::array<float , NLayers> mMinR ;
316320 std::array<float , NLayers> mMaxR ;
317- o2::itsmft::tracking:: bounded_vector<float > mLinkPhiCuts ;
318- o2::itsmft::tracking:: bounded_vector<float > mLinkMSAngles ;
319- o2::itsmft::tracking:: bounded_vector<float > mPositionResolution ;
320- std::array<o2::itsmft::tracking:: bounded_vector<uint8_t >, NLayers> mClusterSize ;
321+ bounded_vector<float > mLinkPhiCuts ;
322+ bounded_vector<float > mLinkMSAngles ;
323+ bounded_vector<float > mPositionResolution ;
324+ std::array<bounded_vector<uint8_t >, NLayers> mClusterSize ;
321325
322- o2::itsmft::tracking:: bounded_vector<std::array<float , 2 >> mPValphaX ; // / PV x and alpha for track propagation
323- std::vector<o2::itsmft::tracking:: bounded_vector<MCCompLabel>> mTrackletLabels ;
324- std::vector<o2::itsmft::tracking:: bounded_vector<MCCompLabel>> mCellLabels ;
325- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mCellsNeighboursLUT ;
326- o2::itsmft::tracking:: bounded_vector<int > mBogusClusters ; // / keep track of clusters with wild coordinates
326+ bounded_vector<std::array<float , 2 >> mPValphaX ; // / PV x and alpha for track propagation
327+ std::vector<bounded_vector<MCCompLabel>> mTrackletLabels ;
328+ std::vector<bounded_vector<MCCompLabel>> mCellLabels ;
329+ std::vector<bounded_vector<int >> mCellsNeighboursLUT ;
330+ bounded_vector<int > mBogusClusters ; // / keep track of clusters with wild coordinates
327331
328- o2::itsmft::tracking:: CapacityEstimator mCapacityEstimator ;
332+ CapacityEstimator mCapacityEstimator ;
329333
330334 // Vertexer
331- o2::itsmft::tracking:: bounded_vector<Vertex> mPrimaryVertices ;
332- o2::itsmft::tracking:: bounded_vector<VertexLabel> mPrimaryVerticesLabels ;
333- std::vector<o2::itsmft::tracking:: bounded_vector<int >> mNTrackletsPerROF ;
334- std::vector<o2::itsmft::tracking:: bounded_vector<Line>> mLines ;
335- std::vector<o2::itsmft::tracking:: bounded_vector<ClusterLines>> mTrackletClusters ;
336- std::array<o2::itsmft::tracking:: bounded_vector<int >, 2 > mTrackletsIndexROF ;
337- std::vector<o2::itsmft::tracking:: bounded_vector<MCCompLabel>> mLinesLabels ;
335+ bounded_vector<Vertex> mPrimaryVertices ;
336+ bounded_vector<VertexLabel> mPrimaryVerticesLabels ;
337+ std::vector<bounded_vector<int >> mNTrackletsPerROF ;
338+ std::vector<bounded_vector<Line>> mLines ;
339+ std::vector<bounded_vector<ClusterLines>> mTrackletClusters ;
340+ std::array<bounded_vector<int >, 2 > mTrackletsIndexROF ;
341+ std::vector<bounded_vector<MCCompLabel>> mLinesLabels ;
338342 std::array<uint32_t , 2 > mTotalTracklets = {0 , 0 };
339343 uint32_t mTotalLines = 0 ;
340344 // \Vertexer
@@ -356,7 +360,7 @@ struct TimeFrame {
356360
357361 bool mIsStaggered {false };
358362
359- std::shared_ptr<o2::itsmft::tracking:: BoundedMemoryResource> mMemoryPool ;
363+ std::shared_ptr<BoundedMemoryResource> mMemoryPool ;
360364};
361365
362366template <int NLayers>
0 commit comments