Project
Loading...
Searching...
No Matches
GPUTPCTrackletSelector.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 GPUTPCTRACKLETSELECTOR_H
16
#define GPUTPCTRACKLETSELECTOR_H
17
18
#include "
GPUTPCDef.h
"
19
#include "
GPUTPCHitId.h
"
20
#include "
GPUGeneralKernels.h
"
21
#include "
GPUConstantMem.h
"
22
23
namespace
o2::gpu
24
{
25
class
GPUTPCTracker;
26
31
class
GPUTPCTrackletSelector
:
public
GPUKernelTemplate
32
{
33
public
:
34
struct
GPUSharedMemory
{
35
int32_t
mItr0
;
// index of the first track in the block
36
int32_t
mNThreadsTotal
;
// total n threads
37
int32_t
mNTracklets
;
// n of tracklets
38
int32_t
mReserved
;
// for alignment reasons
39
#if GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE != 0
40
GPUTPCHitId
mHits[
GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE
][
GPUCA_GET_THREAD_COUNT
(GPUCA_LB_GPUTPCTrackletSelector)];
41
#endif
// GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE != 0
42
};
43
44
typedef
GPUconstantref
()
GPUTPCTracker
processorType;
45
GPUhdi
() constexpr static
GPUDataTypes
::RecoStep GetRecoStep() {
return
GPUCA_RECO_STEP::TPCSectorTracking; }
46
GPUhdi
() static processorType* Processor(
GPUConstantMem
&
processors
)
47
{
48
return
processors
.tpcTrackers;
49
}
50
template
<
int
32_t iKernel = defaultKernel>
51
GPUd
() static
void
Thread(int32_t nBlocks, int32_t
nThreads
, int32_t
iBlock
, int32_t
iThread
,
GPUsharedref
()
GPUSharedMemory
& smem, processorType&
tracker
);
52
};
53
}
// namespace o2::gpu
54
55
#endif
// GPUTPCTRACKLETSELECTOR_H
GPUsharedref
#define GPUsharedref()
Definition
GPUCommonDefAPI.h:56
GPUConstantMem.h
GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE
Definition
GPUDefGPUParameters.h:563
GPUCA_GET_THREAD_COUNT
#define GPUCA_GET_THREAD_COUNT(...)
Definition
GPUDefGPUParameters.h:501
GPUGeneralKernels.h
GPUTPCDef.h
GPUTPCHitId.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::GPUTPCHitId
Definition
GPUTPCHitId.h:21
o2::gpu::GPUTPCTracker
Definition
GPUTPCTracker.h:40
o2::gpu::GPUTPCTrackletSelector
Definition
GPUTPCTrackletSelector.h:32
o2::gpu::GPUTPCTrackletSelector::GPUconstantref
typedef GPUconstantref() GPUTPCTracker processorType
o2::gpu::GPUTPCTrackletSelector::GPUhdi
GPUhdi() const expr static GPUDataTypes
Definition
GPUTPCTrackletSelector.h:45
o2::gpu::GPUTPCTrackletSelector::nThreads
int32_t nThreads
Definition
GPUTPCTrackletSelector.h:51
o2::gpu::GPUTPCTrackletSelector::GPUhdi
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
Definition
GPUTPCTrackletSelector.h:46
o2::gpu::GPUTPCTrackletSelector::GPUd
GPUd() static void Thread(int32_t nBlocks
o2::gpu::GPUTPCTrackletSelector::iBlock
int32_t int32_t iBlock
Definition
GPUTPCTrackletSelector.h:51
o2::gpu::GPUTPCTrackletSelector::iThread
int32_t int32_t int32_t iThread
Definition
GPUTPCTrackletSelector.h:51
o2::gpu::GPUTPCTrackletSelector::tracker
int32_t int32_t int32_t processorType & tracker
Definition
GPUTPCTrackletSelector.h:51
o2::gpu
Definition
TrackTRD.h:35
o2::gpu::GPUConstantMem
Definition
GPUConstantMem.h:39
o2::gpu::GPUTPCTrackletSelector::GPUSharedMemory
Definition
GPUTPCTrackletSelector.h:34
o2::gpu::GPUTPCTrackletSelector::GPUSharedMemory::mItr0
int32_t mItr0
Definition
GPUTPCTrackletSelector.h:35
o2::gpu::GPUTPCTrackletSelector::GPUSharedMemory::mNThreadsTotal
int32_t mNThreadsTotal
Definition
GPUTPCTrackletSelector.h:36
o2::gpu::GPUTPCTrackletSelector::GPUSharedMemory::mReserved
int32_t mReserved
Definition
GPUTPCTrackletSelector.h:38
o2::gpu::GPUTPCTrackletSelector::GPUSharedMemory::mNTracklets
int32_t mNTracklets
Definition
GPUTPCTrackletSelector.h:37
GPU
GPUTracking
SectorTracker
GPUTPCTrackletSelector.h
Generated on Tue Feb 25 2025 17:03:26 for Project by
1.9.8