Project
Loading...
Searching...
No Matches
GPUTPCCFCheckPadBaseline.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 O2_GPU_GPU_TPC_CF_CHECK_PAD_BASELINE_H
16
#define O2_GPU_GPU_TPC_CF_CHECK_PAD_BASELINE_H
17
18
#include "
GPUGeneralKernels.h
"
19
#include "
GPUConstantMem.h
"
20
21
#include "
clusterFinderDefs.h
"
22
23
namespace
o2::gpu
24
{
25
26
class
GPUTPCCFCheckPadBaseline
:
public
GPUKernelTemplate
27
{
28
29
public
:
30
enum
{
31
PadsPerCacheline
= 8,
32
TimebinsPerCacheline
= 4,
33
NumOfCachedTimebins
=
GPUCA_GET_THREAD_COUNT
(GPUCA_LB_GPUTPCCFCheckPadBaseline) /
PadsPerCacheline
,
34
};
35
36
struct
GPUSharedMemory
{
37
tpccf::Charge
charges
[
PadsPerCacheline
][
NumOfCachedTimebins
];
38
};
39
40
typedef
GPUTPCClusterFinder
processorType
;
41
GPUhdi
() static
processorType
* Processor(
GPUConstantMem
&
processors
)
42
{
43
return
processors
.tpcClusterer;
44
}
45
46
GPUhdi
() constexpr static
GPUDataTypes
::RecoStep GetRecoStep()
47
{
48
return
GPUDataTypes::RecoStep::TPCClusterFinding;
49
}
50
51
template
<
int
32_t iKernel = defaultKernel>
52
GPUd
() static
void
Thread(int32_t nBlocks, int32_t
nThreads
, int32_t
iBlock
, int32_t
iThread
,
GPUSharedMemory
&
smem
,
processorType
&
clusterer
);
53
54
private:
55
GPUd
() static
ChargePos
padToChargePos(int32_t& pad, const
GPUTPCClusterFinder
&);
56
GPUd
() static
void
updatePadBaseline(int32_t pad, const
GPUTPCClusterFinder
&, int32_t totalCharges, int32_t consecCharges, tpccf::Charge maxCharge);
57
};
58
59
}
// namespace o2::gpu
60
61
#endif
GPUConstantMem.h
GPUCA_GET_THREAD_COUNT
#define GPUCA_GET_THREAD_COUNT(...)
Definition
GPUDefGPUParameters.h:501
GPUGeneralKernels.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::GPUTPCCFCheckPadBaseline
Definition
GPUTPCCFCheckPadBaseline.h:27
o2::gpu::GPUTPCCFCheckPadBaseline::TimebinsPerCacheline
@ TimebinsPerCacheline
Definition
GPUTPCCFCheckPadBaseline.h:32
o2::gpu::GPUTPCCFCheckPadBaseline::NumOfCachedTimebins
@ NumOfCachedTimebins
Definition
GPUTPCCFCheckPadBaseline.h:33
o2::gpu::GPUTPCCFCheckPadBaseline::PadsPerCacheline
@ PadsPerCacheline
Definition
GPUTPCCFCheckPadBaseline.h:31
o2::gpu::GPUTPCCFCheckPadBaseline::GPUd
GPUd() static void Thread(int32_t nBlocks
o2::gpu::GPUTPCCFCheckPadBaseline::smem
int32_t int32_t int32_t GPUSharedMemory & smem
Definition
GPUTPCCFCheckPadBaseline.h:52
o2::gpu::GPUTPCCFCheckPadBaseline::nThreads
int32_t nThreads
Definition
GPUTPCCFCheckPadBaseline.h:52
o2::gpu::GPUTPCCFCheckPadBaseline::processorType
GPUTPCClusterFinder processorType
Definition
GPUTPCCFCheckPadBaseline.h:40
o2::gpu::GPUTPCCFCheckPadBaseline::GPUhdi
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
Definition
GPUTPCCFCheckPadBaseline.h:41
o2::gpu::GPUTPCCFCheckPadBaseline::iBlock
int32_t int32_t iBlock
Definition
GPUTPCCFCheckPadBaseline.h:52
o2::gpu::GPUTPCCFCheckPadBaseline::GPUhdi
GPUhdi() const expr static GPUDataTypes
Definition
GPUTPCCFCheckPadBaseline.h:46
o2::gpu::GPUTPCCFCheckPadBaseline::clusterer
int32_t int32_t int32_t GPUSharedMemory processorType & clusterer
Definition
GPUTPCCFCheckPadBaseline.h:52
o2::gpu::GPUTPCCFCheckPadBaseline::iThread
int32_t int32_t int32_t iThread
Definition
GPUTPCCFCheckPadBaseline.h:52
o2::gpu::GPUTPCClusterFinder
Definition
GPUTPCClusterFinder.h:54
clusterFinderDefs.h
o2::gpu::tpccf::Charge
float Charge
Definition
clusterFinderDefs.h:68
o2::gpu
Definition
TrackTRD.h:35
o2::gpu::ChargePos
Definition
ChargePos.h:25
o2::gpu::GPUConstantMem
Definition
GPUConstantMem.h:39
o2::gpu::GPUTPCCFCheckPadBaseline::GPUSharedMemory
Definition
GPUTPCCFCheckPadBaseline.h:36
o2::gpu::GPUTPCCFCheckPadBaseline::GPUSharedMemory::charges
tpccf::Charge charges[PadsPerCacheline][NumOfCachedTimebins]
Definition
GPUTPCCFCheckPadBaseline.h:37
GPU
GPUTracking
TPCClusterFinder
GPUTPCCFCheckPadBaseline.h
Generated on Tue Feb 25 2025 17:03:26 for Project by
1.9.8