13#ifndef TRACKINGITSGPU_INCLUDE_TIMEFRAMECHUNKGPU_H 
   14#define TRACKINGITSGPU_INCLUDE_TIMEFRAMECHUNKGPU_H 
   20#include "ITStrackingGPU/Stream.h" 
  106  std::array<gsl::span<const Cluster>, nLayers> mHostClusters;
 
  107  std::array<gsl::span<const int>, nLayers> mHostIndexTables;
 
  110  std::array<Cluster*, nLayers> mClustersDevice;
 
  111  std::array<int*, nLayers> mClusterExternalIndicesDevice;
 
  112  std::array<int*, nLayers> mIndexTablesDevice;
 
  113  std::array<
Tracklet*, nLayers - 1> mTrackletsDevice;
 
  114  std::array<
int*, nLayers - 1> mTrackletsLookupTablesDevice;
 
  115  std::array<
CellSeed*, nLayers - 2> mCellsDevice;
 
  117  std::array<
int*, nLayers - 2> mCellsLookupTablesDevice;
 
  118  std::array<
int*, nLayers - 3> mNeighboursCellDevice;
 
  119  std::array<
int*, nLayers - 3> mNeighboursCellLookupTablesDevice;
 
  120  std::array<
int*, nLayers - 2> mRoadsLookupTablesDevice;
 
  124  int** mNeighboursCellDeviceArray;
 
  125  int** mNeighboursCellLookupTablesDeviceArray;
 
  128  int* mCUBTmpBufferDevice;
 
  129  int* mFoundTrackletsDevice;
 
  130  int* mNFoundCellsDevice;
 
  134  int* mNFoundLinesDevice;
 
  135  int* mNExclusiveFoundLinesDevice;
 
  136  unsigned char* mUsedTrackletsDevice;
 
  137  std::array<int*, 2> mNTrackletsPerClusterDevice;
 
  138  int* mClusteredLinesDevice;
 
  141  bool mAllocated = 
false;
 
  143  size_t mNPopulatedRof = 0;
 
 
GPU-compliant version of ClusterLines, for the moment separated, might create a common traits for Clu...
 
int * getDeviceClusterExternalIndices(const int)
 
int * getDeviceNExclusiveFoundLines()
 
CellSeed ** getDeviceArrayCells() const
 
int * getDeviceRoadsLookupTables(const int)
 
int * getDeviceCellsLookupTables(const int)
 
int * getDeviceClusteredLines()
 
int * getDeviceCellNeighbours(const int)
 
int * getDeviceNFoundLines()
 
int * getDeviceNFoundCells()
 
size_t getNPopulatedRof() const
 
GpuTimeFrameChunk()=delete
 
int * getDeviceTrackletsLookupTables(const int)
 
void reset(const Task, Stream &)
 
int ** getDeviceArrayNeighboursCell() const
 
unsigned char * getDeviceUsedTracklets()
 
int * getDeviceCUBTmpBuffer()
 
int * getDeviceFoundTracklets()
 
static size_t computeScalingSizeBytes(const int, const TimeFrameGPUParameters &)
 
void allocate(const size_t, Stream &)
Most relevant operations.
 
size_t loadDataOnDevice(const size_t, const size_t, const int, Stream &)
 
GpuTimeFrameChunk(o2::its::TimeFrame *tf, TimeFrameGPUParameters &conf)
 
int ** getDeviceArrayNeighboursCellLUT() const
 
CellSeed * getDeviceCells(const int)
 
Cluster * getDeviceClusters(const int)
Interface.
 
static size_t computeFixedSizeBytes(const TimeFrameGPUParameters &)
 
TimeFrameGPUParameters * getTimeFrameGPUParameters() const
 
int * getDeviceCellNeigboursLookupTables(const int)
 
Tracklet * getDeviceTracklets(const int)
 
int * getDeviceIndexTables(const int)
 
int * getDeviceNTrackletCluster(const int combid)
Vertexer only.
 
static size_t computeRofPerChunk(const TimeFrameGPUParameters &, const size_t)
 
std::unique_ptr< GPUReconstructionTimeframe > tf
 
float CellDeltaTanLambdaSigma
Cell finding cuts.
 
void set(const TrackingParameters &pars)
 
StaticTrackingParameters< nLayers > & operator=(const StaticTrackingParameters< nLayers > &t)=default
 
float CellDeltaTanLambdaSigma
Cell finding cuts.
 
int ClusterSharing
General parameters.