@@ -130,7 +130,9 @@ class TimeFrameGPU : public TimeFrame<nLayers>
130130 // Host-specific getters
131131 gsl::span<int , nLayers - 1 > getNTracklets () { return mNTracklets ; }
132132 gsl::span<int , nLayers - 2 > getNCells () { return mNCells ; }
133- std::array<int , nLayers - 2 >& getArrayNCells () { return mNCells ; }
133+ auto & getArrayNCells () { return mNCells ; }
134+ gsl::span<int , nLayers - 3 > getNNeighbours () { return mNNeighbours ; }
135+ auto & getArrayNNeighbours () { return mNNeighbours ; }
134136
135137 // Host-available device getters
136138 gsl::span<int *> getDeviceTrackletsLUTs () { return mTrackletsLUTDevice ; }
@@ -139,7 +141,9 @@ class TimeFrameGPU : public TimeFrame<nLayers>
139141 gsl::span<CellSeed*> getDeviceCells () { return mCellsDevice ; }
140142
141143 // Overridden getters
142- int getNumberOfCells () const ;
144+ int getNumberOfTracklets () const final ;
145+ int getNumberOfCells () const final ;
146+ int getNumberOfNeighbours () const final ;
143147
144148 private:
145149 void allocMemAsync (void **, size_t , Stream*, bool ); // Abstract owned and unowned memory allocations
@@ -149,6 +153,7 @@ class TimeFrameGPU : public TimeFrame<nLayers>
149153 // Host-available device buffer sizes
150154 std::array<int , nLayers - 1 > mNTracklets ;
151155 std::array<int , nLayers - 2 > mNCells ;
156+ std::array<int , nLayers - 3 > mNNeighbours ;
152157
153158 // Device pointers
154159 IndexTableUtils* mIndexTableUtilsDevice ;
@@ -218,12 +223,24 @@ inline std::vector<unsigned int> TimeFrameGPU<nLayers>::getClusterSizes()
218223 return sizes;
219224}
220225
226+ template <int nLayers>
227+ inline int TimeFrameGPU<nLayers>::getNumberOfTracklets() const
228+ {
229+ return std::accumulate (mNTracklets .begin (), mNTracklets .end (), 0 );
230+ }
231+
221232template <int nLayers>
222233inline int TimeFrameGPU<nLayers>::getNumberOfCells() const
223234{
224235 return std::accumulate (mNCells .begin (), mNCells .end (), 0 );
225236}
226237
238+ template <int nLayers>
239+ inline int TimeFrameGPU<nLayers>::getNumberOfNeighbours() const
240+ {
241+ return std::accumulate (mNNeighbours .begin (), mNNeighbours .end (), 0 );
242+ }
243+
227244} // namespace o2::its::gpu
228245
229246#endif
0 commit comments