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>
31
#include "
DataFormatsTPC/Constants.h
"
32
#include "
SimulationDataFormat/ConstMCTruthContainer.h
"
33
#include "
SimulationDataFormat/MCCompLabel.h
"
34
35
namespace
o2::gpu
36
{
37
38
struct
GPUTPCDigitsMCInput
{
39
std::array<const o2::dataformats::ConstMCTruthContainerView<o2::MCCompLabel>*, o2::tpc::constants::MAXSECTOR>
v
;
40
};
41
42
struct
GPUTPCClusterMCInterim
{
43
std::vector<o2::MCCompLabel>
labels
;
44
};
45
46
struct
GPUTPCClusterMCInterimArray
{
47
std::vector<GPUTPCClusterMCInterim>
data
;
48
std::atomic_flag
lock
= ATOMIC_FLAG_INIT;
49
};
50
51
struct
GPUTPCLinearLabels
{
52
std::vector<o2::dataformats::MCTruthHeaderElement>
header
;
53
std::vector<o2::MCCompLabel>
data
;
54
};
55
56
}
// namespace o2::gpu
57
58
#endif
ConstMCTruthContainer.h
A const (ready only) version of MCTruthContainer.
Constants.h
GPUCommonDef.h
MCCompLabel.h
o2::gpu
Definition
TrackTRD.h:36
o2::gpu::GPUTPCClusterMCInterimArray
Definition
GPUHostDataTypes.h:46
o2::gpu::GPUTPCClusterMCInterimArray::lock
std::atomic_flag lock
Definition
GPUHostDataTypes.h:48
o2::gpu::GPUTPCClusterMCInterimArray::data
std::vector< GPUTPCClusterMCInterim > data
Definition
GPUHostDataTypes.h:47
o2::gpu::GPUTPCClusterMCInterim
Definition
GPUHostDataTypes.h:42
o2::gpu::GPUTPCClusterMCInterim::labels
std::vector< o2::MCCompLabel > labels
Definition
GPUHostDataTypes.h:43
o2::gpu::GPUTPCDigitsMCInput
Definition
GPUHostDataTypes.h:38
o2::gpu::GPUTPCDigitsMCInput::v
std::array< const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > *, o2::tpc::constants::MAXSECTOR > v
Definition
GPUHostDataTypes.h:39
o2::gpu::GPUTPCLinearLabels
Definition
GPUHostDataTypes.h:51
o2::gpu::GPUTPCLinearLabels::data
std::vector< o2::MCCompLabel > data
Definition
GPUHostDataTypes.h:53
o2::gpu::GPUTPCLinearLabels::header
std::vector< o2::dataformats::MCTruthHeaderElement > header
Definition
GPUHostDataTypes.h:52
GPU
GPUTracking
DataTypes
GPUHostDataTypes.h
Generated on Fri Sep 18 2026 08:26:38 for Project by
1.9.8