Project
Loading...
Searching...
No Matches
GPUTrackingInputProvider.cxx
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
16#include "GPUDataTypes.h"
17#include "GPUTRDTrackletWord.h"
18#include "GPUReconstruction.h"
20#include "GPUErrors.h"
21
22using namespace o2::gpu;
23using namespace o2::tpc;
24
35
43
51
53{
55 computePointerWithoutAlignment(mem, mPclusterNativeOutput, mNClusterNative); // TODO: Should decide based on some settings whether with or without alignment. Without only needed for output to unaligned shared memory in workflow.
56 }
57 return mem;
58}
59
65
78
80{
82 computePointerWithAlignment(mem, mTPCClusterOccupancyMap, (mRec->GetParam().rec.tpc.occupancyMapTimeBins ? GPUTPCClusterOccupancyMapBin::getNBins(mRec->GetParam()) + 1 : 0) + 1); // +1 for total occupancy estimator, +1 for sanity check information
83 }
84 return mem;
85}
86
88{
96}
97
99{
100 mHoldTPCZS = io.tpcZS && (mRec->GetRecoStepsGPU() & GPUDataTypes::RecoStep::TPCClusterFinding);
102 mHoldTPCOccupancyMap = (io.tpcZS || io.tpcPackedDigits || io.clustersNative || io.tpcCompressedClusters) && (mRec->GetParam().rec.tpc.occupancyMapTimeBins || mRec->GetParam().rec.tpc.sysClusErrorC12Norm);
104}
TRD Tracklet word for GPU tracker - 32bit tracklet info + half chamber ID + index.
static uint32_t getMaxErrors()
GPUReconstruction * mRec
static void computePointerWithAlignment(T *&basePtr, S *&objPtr, size_t nEntries=1)
static void computePointerWithoutAlignment(T *&basePtr, S *&objPtr, size_t nEntries=1)
const GPUParam & GetParam() const
RecoStepField GetRecoStepsGPU() const
int16_t RegisterMemoryAllocation(T *proc, void *(T::*setPtr)(void *), int32_t type, const char *name="", const GPUMemoryReuse &re=GPUMemoryReuse())
o2::tpc::ClusterNativeAccess * mPclusterNativeAccess
void SetMaxData(const GPUTrackingInOutPointers &io)
o2::tpc::ClusterNative * mPclusterNativeOutput
o2::tpc::ClusterNative * mPclusterNativeBuffer
Global TPC definitions and constants.
Definition SimTraits.h:167
const o2::tpc::ClusterNativeAccess * clustersNative
const o2::tpc::CompressedClustersFlat * tpcCompressedClusters
const GPUTrackingInOutZS * tpcZS
const GPUTrackingInOutDigits * tpcPackedDigits
static constexpr uint32_t NSECTORS
static constexpr uint32_t NENDPOINTS