Project
Loading...
Searching...
No Matches
GPUTPCNeighboursFinder.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 GPUTPCNEIGHBOURSFINDER_H
16
#define GPUTPCNEIGHBOURSFINDER_H
17
18
#include "
GPUTPCDef.h
"
19
#include "
GPUTPCRow.h
"
20
#include "
GPUGeneralKernels.h
"
21
#include "
GPUConstantMem.h
"
22
23
namespace
o2::gpu
24
{
25
class
GPUTPCTracker;
26
31
class
GPUTPCNeighboursFinder
:
public
GPUKernelTemplate
32
{
33
public
:
34
struct
GPUSharedMemory
{
35
int32_t
mNHits
;
// n hits
36
float
mUpDx
;
// x distance to the next row
37
float
mDnDx
;
// x distance to the previous row
38
float
mUpTx
;
// normalized x distance to the next row
39
float
mDnTx
;
// normalized x distance to the previous row
40
int32_t
mIRow
;
// row number
41
int32_t
mIRowUp
;
// next row number
42
int32_t
mIRowDn
;
// previous row number
43
#if GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP > 0
44
float
mA1[
GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP
][
GPUCA_GET_THREAD_COUNT
(GPUCA_LB_GPUTPCNeighboursFinder)];
45
float
mA2[
GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP
][
GPUCA_GET_THREAD_COUNT
(GPUCA_LB_GPUTPCNeighboursFinder)];
46
calink
mB[
GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP
][
GPUCA_GET_THREAD_COUNT
(GPUCA_LB_GPUTPCNeighboursFinder)];
47
#endif
48
GPUTPCRow
mRow
,
mRowUp
,
mRowDown
;
49
};
50
51
typedef
GPUconstantref
()
GPUTPCTracker
processorType;
52
GPUhdi
() constexpr static
GPUDataTypes
::RecoStep GetRecoStep() {
return
GPUCA_RECO_STEP::TPCSectorTracking; }
53
GPUhdi
() static processorType* Processor(
GPUConstantMem
&
processors
)
54
{
55
return
processors
.tpcTrackers;
56
}
57
template
<
int
32_t iKernel = defaultKernel>
58
GPUd
() static
void
Thread(int32_t nBlocks, int32_t
nThreads
, int32_t
iBlock
, int32_t
iThread
,
GPUsharedref
()
GPUSharedMemory
& smem, processorType&
tracker
);
59
};
60
}
// namespace o2::gpu
61
62
#endif
// GPUTPCNEIGHBOURSFINDER_H
GPUsharedref
#define GPUsharedref()
Definition
GPUCommonDefAPI.h:56
GPUConstantMem.h
GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP
Definition
GPUDefGPUParameters.h:562
GPUCA_GET_THREAD_COUNT
#define GPUCA_GET_THREAD_COUNT(...)
Definition
GPUDefGPUParameters.h:501
GPUGeneralKernels.h
GPUTPCDef.h
GPUTPCRow.h
o2::gpu::GPUDataTypes
Definition
GPUDataTypes.h:118
o2::gpu::GPUKernelTemplate
Definition
GPUGeneralKernels.h:40
o2::gpu::GPUKernelTemplate::processors
int32_t int32_t int32_t processorType & processors
Definition
GPUGeneralKernels.h:88
o2::gpu::GPUTPCNeighboursFinder
Definition
GPUTPCNeighboursFinder.h:32
o2::gpu::GPUTPCNeighboursFinder::GPUconstantref
typedef GPUconstantref() GPUTPCTracker processorType
o2::gpu::GPUTPCNeighboursFinder::iThread
int32_t int32_t int32_t iThread
Definition
GPUTPCNeighboursFinder.h:58
o2::gpu::GPUTPCNeighboursFinder::GPUd
GPUd() static void Thread(int32_t nBlocks
o2::gpu::GPUTPCNeighboursFinder::tracker
int32_t int32_t int32_t processorType & tracker
Definition
GPUTPCNeighboursFinder.h:58
o2::gpu::GPUTPCNeighboursFinder::iBlock
int32_t int32_t iBlock
Definition
GPUTPCNeighboursFinder.h:58
o2::gpu::GPUTPCNeighboursFinder::GPUhdi
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
Definition
GPUTPCNeighboursFinder.h:53
o2::gpu::GPUTPCNeighboursFinder::nThreads
int32_t nThreads
Definition
GPUTPCNeighboursFinder.h:58
o2::gpu::GPUTPCNeighboursFinder::GPUhdi
GPUhdi() const expr static GPUDataTypes
Definition
GPUTPCNeighboursFinder.h:52
o2::gpu::GPUTPCRow
Definition
GPUTPCRow.h:31
o2::gpu::GPUTPCTracker
Definition
GPUTPCTracker.h:40
o2::gpu
Definition
TrackTRD.h:35
o2::gpu::calink
uint32_t calink
Definition
GPUTPCDef.h:30
o2::gpu::GPUConstantMem
Definition
GPUConstantMem.h:39
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory
Definition
GPUTPCNeighboursFinder.h:34
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mNHits
int32_t mNHits
Definition
GPUTPCNeighboursFinder.h:35
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mIRow
int32_t mIRow
Definition
GPUTPCNeighboursFinder.h:40
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mRowUp
GPUTPCRow mRowUp
Definition
GPUTPCNeighboursFinder.h:48
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mDnDx
float mDnDx
Definition
GPUTPCNeighboursFinder.h:37
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mIRowUp
int32_t mIRowUp
Definition
GPUTPCNeighboursFinder.h:41
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mUpDx
float mUpDx
Definition
GPUTPCNeighboursFinder.h:36
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mRow
GPUTPCRow mRow
Definition
GPUTPCNeighboursFinder.h:48
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mIRowDn
int32_t mIRowDn
Definition
GPUTPCNeighboursFinder.h:42
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mRowDown
GPUTPCRow mRowDown
Definition
GPUTPCNeighboursFinder.h:48
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mUpTx
float mUpTx
Definition
GPUTPCNeighboursFinder.h:38
o2::gpu::GPUTPCNeighboursFinder::GPUSharedMemory::mDnTx
float mDnTx
Definition
GPUTPCNeighboursFinder.h:39
GPU
GPUTracking
SectorTracker
GPUTPCNeighboursFinder.h
Generated on Tue Feb 25 2025 17:03:26 for Project by
1.9.8