Project
Loading...
Searching...
No Matches
GPUTPCCFChargeMapFiller.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_CHARGE_MAP_FILLER_H
16#define O2_GPU_CHARGE_MAP_FILLER_H
17
18#include "clusterFinderDefs.h"
19#include "GPUGeneralKernels.h"
20#include "GPUConstantMem.h"
21#include "GPUTPCClusterFinder.h"
22#include "Array2D.h"
23#include "PackedCharge.h"
24
25namespace o2::tpc
26{
27class Digit;
28} // namespace o2::tpc
29
30namespace o2::gpu
31{
32
33struct ChargePos;
34
36{
37 public:
43
46 {
47 return processors.tpcClusterer;
48 }
49
50 GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep()
51 {
52 return GPUDataTypes::RecoStep::TPCClusterFinding;
53 }
54
55 template <int32_t iKernel = defaultKernel, typename... Args>
57
58 static GPUd() void fillIndexMapImpl(int32_t, int32_t, int32_t, int32_t, const CfFragment&, const tpc::Digit*, Array2D<uint32_t>&, size_t);
59
60 static GPUd() void fillFromDigitsImpl(int32_t, int32_t, int32_t, int32_t, processorType&, const CfFragment&, size_t, const tpc::Digit*, ChargePos*, Array2D<PackedCharge>&);
61
62 private:
63 static GPUd() size_t findTransition(int32_t, const tpc::Digit*, size_t, size_t);
64};
65
66} // namespace o2::gpu
67
68#endif
int32_t int32_t int32_t processorType & processors
int32_t int32_t int32_t GPUSharedMemory & smem
GPUd() static void Thread(int32_t nBlocks
GPUhdi() const expr static GPUDataTypes
int32_t int32_t int32_t GPUSharedMemory processorType Args args
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
int32_t int32_t int32_t GPUSharedMemory processorType & clusterer
o2::cpv::Digit Digit
Global TPC definitions and constants.
Definition SimTraits.h:167