Project
Loading...
Searching...
No Matches
GPUTPCDecompression.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 GPUTPCDECOMPRESSION_H
16#define GPUTPCDECOMPRESSION_H
17
18#include "GPUCommonDef.h"
19
20#include "GPUDef.h"
21#include "GPUProcessor.h"
22#include "GPUCommonMath.h"
23#include "GPUParam.h"
24#include "GPUO2DataTypes.h"
26#include "GPUTPCGeometry.h"
27
28namespace o2::gpu
29{
30
32{
35 friend class GPUChainTracking;
37
38 public:
39#ifndef GPUCA_GPUCODE
43
44 void* SetPointersInputGPU(void* mem);
45 void* SetPointersTmpNativeBuffersGPU(void* mem);
46 void* SetPointersTmpNativeBuffersOutput(void* mem);
47 void* SetPointersTmpNativeBuffersInput(void* mem);
50 void* SetPointersNClusterPerSectorRow(void* mem);
51
52#endif
53
54 protected:
55 GPUglobalconstexpr() static uint32_t NSECTORS = GPUTPCGeometry::NSECTORS;
56 o2::tpc::CompressedClusters mInputGPU;
57
64 o2::tpc::ClusterNative* mTmpNativeClusters;
65 o2::tpc::ClusterNative* mNativeClustersBuffer;
66 o2::tpc::ClusterNativeAccess* mClusterNativeAccess;
67
68 template <class T>
69 void SetPointersCompressedClusters(void*& mem, T& c, uint32_t nClA, uint32_t nTr, uint32_t nClU, bool reducedClA);
70
71 int16_t mMemoryResInputGPU = -1;
72 int16_t mResourceTmpIndexes = -1;
77};
78} // namespace o2::gpu
79#endif // GPUTPCDECOMPRESSION_H
Container to store compressed TPC cluster data.
uint32_t c
Definition RawData.h:2
GPUglobalconstexpr() static uint32_t NSECTORS
void * SetPointersInputClusterNativeAccess(void *mem)
void * SetPointersTmpNativeBuffersGPU(void *mem)
void * SetPointersTmpNativeBuffersInput(void *mem)
o2::tpc::CompressedClusters mInputGPU
void * SetPointersTmpClusterNativeAccessForFiltering(void *mem)
void SetPointersCompressedClusters(void *&mem, T &c, uint32_t nClA, uint32_t nTr, uint32_t nClU, bool reducedClA)
void * SetPointersTmpNativeBuffersOutput(void *mem)
void * SetPointersNClusterPerSectorRow(void *mem)
o2::tpc::ClusterNative * mTmpNativeClusters
void SetMaxData(const GPUTrackingInOutPointers &io)
o2::tpc::ClusterNative * mNativeClustersBuffer
o2::tpc::ClusterNativeAccess * mClusterNativeAccess
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...