Project
Loading...
Searching...
No Matches
GPUTPCStartHitsSorter.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef GPUTPCSTARTHITSSORTER_H
16#define GPUTPCSTARTHITSSORTER_H
17
18#include "GPUTPCDef.h"
19#include "GPUTPCHitId.h"
20#include "GPUGeneralKernels.h"
21#include "GPUConstantMem.h"
22
23namespace o2::gpu
24{
25class GPUTPCTracker;
26
32{
33 public:
35 int32_t mStartRow; // start row index
36 int32_t mNRows; // number of rows to process
37 int32_t mStartOffset; // start offset for hits sorted by this block
38 };
39
40 typedef GPUconstantref() GPUTPCTracker processorType;
41 GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { return GPUCA_RECO_STEP::TPCSectorTracking; }
42 GPUhdi() static processorType* Processor(GPUConstantMem& processors)
43 {
44 return processors.tpcTrackers;
45 }
46 template <int32_t iKernel = defaultKernel>
47 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& tracker);
48};
49} // namespace o2::gpu
50
51#endif // GPUTPCSTARTHITSSORTER_H
#define GPUsharedref()
int32_t int32_t int32_t processorType & processors
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
int32_t int32_t int32_t processorType & tracker
GPUd() static void Thread(int32_t nBlocks
GPUhdi() const expr static GPUDataTypes
typedef GPUconstantref() GPUTPCTracker processorType