Project
Loading...
Searching...
No Matches
GPUTPCConvertImpl.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_GPUTPCCONVERTIMPL_H
16#define O2_GPU_GPUTPCCONVERTIMPL_H
17
18#include "GPUCommonDef.h"
19#include "GPUConstantMem.h"
20#include "TPCFastTransform.h"
22
23namespace o2::gpu
24{
25
27{
28 public:
29 GPUd() static void convert(const GPUConstantMem& GPUrestrict() cm, int32_t sector, int32_t row, float pad, float time, float& GPUrestrict() x, float& GPUrestrict() y, float& GPUrestrict() z)
30 {
31 if (cm.param.par.continuousTracking) {
32 cm.calibObjects.fastTransformHelper->getCorrMap()->TransformInTimeFrame(sector, row, pad, time, x, y, z, cm.param.continuousMaxTimeBin);
33 } else {
34 cm.calibObjects.fastTransformHelper->Transform(sector, row, pad, time, x, y, z);
35 }
36 }
37 GPUd() static void convert(const TPCFastTransform& GPUrestrict() transform, const GPUParam& GPUrestrict() param, int32_t sector, int32_t row, float pad, float time, float& GPUrestrict() x, float& GPUrestrict() y, float& GPUrestrict() z)
38 {
39 if (param.par.continuousTracking) {
40 transform.TransformInTimeFrame(sector, row, pad, time, x, y, z, param.continuousMaxTimeBin);
41 } else {
42 transform.Transform(sector, row, pad, time, x, y, z);
43 }
44 }
45};
46
47} // namespace o2::gpu
48
49#endif
Helper class to access correction maps.
Definition of TPCFastTransform class.
GPUd() static void convert(const GPUConstantMem &GPUrestrict() cm
GPUd() static void convert(const TPCFastTransform &GPUrestrict() transform
int32_t int32_t float float time
int32_t int32_t float pad
int32_t int32_t float float float & GPUrestrict() x
GLint GLenum GLint x
Definition glcorearb.h:403
GLenum GLfloat param
Definition glcorearb.h:271
GLdouble GLdouble GLdouble z
Definition glcorearb.h:843
std::vector< uint64_t > convert(gsl::span< const uint64_t > page)