Project
Loading...
Searching...
No Matches
GPUHostDataTypes.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 GPUHOSTDATATYPES_H
16#define GPUHOSTDATATYPES_H
17
18#include "GPUCommonDef.h"
19
20// These are complex data types wrapped in simple structs, which can be forward declared.
21// Structures used on the GPU can have pointers to these wrappers, when the wrappers are forward declared.
22// These wrapped complex types are not meant for usage on GPU
23
24#if defined(GPUCA_GPUCODE)
25#error "GPUHostDataTypes.h should never be included on GPU."
26#endif
27
28#include <vector>
29#include <array>
30#include <atomic>
34
35namespace o2::gpu
36{
37
39 std::array<const o2::dataformats::ConstMCTruthContainerView<o2::MCCompLabel>*, o2::tpc::constants::MAXSECTOR> v;
40};
41
43 std::vector<o2::MCCompLabel> labels;
44};
45
47 std::vector<GPUTPCClusterMCInterim> data;
48 std::atomic_flag lock = ATOMIC_FLAG_INIT;
49};
50
52 std::vector<o2::dataformats::MCTruthHeaderElement> header;
53 std::vector<o2::MCCompLabel> data;
54};
55
56} // namespace o2::gpu
57
58#endif
A const (ready only) version of MCTruthContainer.
constexpr int MAXSECTOR
Definition Constants.h:28
std::vector< GPUTPCClusterMCInterim > data
std::vector< o2::MCCompLabel > labels
std::array< const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > *, o2::tpc::constants::MAXSECTOR > v
std::vector< o2::MCCompLabel > data
std::vector< o2::dataformats::MCTruthHeaderElement > header