Project
Loading...
Searching...
No Matches
GPUTPCCFChainContext.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_TPCCFCHAINCONTEXT_H
16#define O2_GPU_TPCCFCHAINCONTEXT_H
17
18#include "clusterFinderDefs.h"
19#include "GPUDataTypes.h"
20#include "GPUTPCClusterFinder.h"
21#include "CfFragment.h"
22#include <vector>
23#include <utility>
24
25namespace o2::gpu
26{
27
35
41
42 int32_t zsVersion;
43 std::vector<FragmentData> fragmentData;
44 uint32_t nPagesTotal;
48 uint32_t tpcMaxTimeBin;
50 uint32_t nFragments;
52 std::pair<uint32_t, uint32_t> nextPos[GPUCA_NSECTORS];
55
56 void prepare(bool tpcZS, const CfFragment& fragmentMax)
57 {
58 abandonTimeframe = false;
60 for (uint32_t i = 0; i < GPUCA_NSECTORS; i++) {
61 nPagesSector[i] = 0;
63 }
64
65 if (tpcZS) {
66 tpcMaxTimeBin = 0;
67 nFragments = fragmentMax.count();
68 if (fragmentData.size() < nFragments) {
70 }
71
72 for (uint32_t i = 0; i < nFragments; i++) {
73 for (uint32_t j = 0; j < GPUCA_NSECTORS; j++) {
74 for (uint32_t k = 0; k < GPUTrackingInOutZS::NENDPOINTS; k++) {
75 fragmentData[i].nDigits[j][k] = fragmentData[i].nPages[j][k] = 0;
76 fragmentData[i].pageDigits[j][k].clear();
77 }
78 }
79 }
80 }
81 }
82};
83
84} // namespace o2::gpu
85
86#endif
int32_t i
#define GPUCA_NSECTORS
uint32_t j
Definition RawData.h:0
GPUTPCClusterFinder::MinMaxCN minMaxCN[GPUCA_NSECTORS][GPUTrackingInOutZS::NENDPOINTS]
uint32_t nPages[GPUCA_NSECTORS][GPUTrackingInOutZS::NENDPOINTS]
std::vector< uint16_t > pageDigits[GPUCA_NSECTORS][GPUTrackingInOutZS::NENDPOINTS]
uint32_t nDigits[GPUCA_NSECTORS][GPUTrackingInOutZS::NENDPOINTS]
GPUTPCClusterFinder::ZSOffset * zsOffsetHost
GPUTPCClusterFinder::ZSOffset * zsOffsetDevice
const o2::tpc::ClusterNativeAccess * ptrClusterNativeSave
PtrSave ptrSave[GPUCA_NSECTORS]
std::pair< uint32_t, uint32_t > nextPos[GPUCA_NSECTORS]
void prepare(bool tpcZS, const CfFragment &fragmentMax)
uint32_t nDigitsEndpointMax[GPUCA_NSECTORS]
uint32_t nPagesSector[GPUCA_NSECTORS]
std::vector< FragmentData > fragmentData
static constexpr uint32_t NENDPOINTS