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 "TPCFastTransformPOD.h"
21
22namespace o2::gpu
23{
24
26{
27 public:
28 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)
29 {
30 if (cm.param.par.continuousTracking) { // TODO: This might be wrong, don't we just need to do TransformInTimeframe always
31 cm.calibObjects.fastTransform->TransformInTimeFrame(sector, row, pad, time, x, y, z, cm.param.continuousMaxTimeBin);
32 } else {
33 cm.calibObjects.fastTransform->Transform(sector, row, pad, time, x, y, z);
34 }
35 }
36 GPUd() static void convert(const TPCFastTransformPOD& 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)
37 {
38 if (param.par.continuousTracking) {
39 transform.TransformInTimeFrame(sector, row, pad, time, x, y, z, param.continuousMaxTimeBin);
40 } else {
41 transform.Transform(sector, row, pad, time, x, y, z);
42 }
43 }
44};
45
46} // namespace o2::gpu
47
48#endif
POD correction map.
GPUd() static void convert(const GPUConstantMem &GPUrestrict() cm
GPUd() static void convert(const TPCFastTransformPOD &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)