forked from mcoquet642/AliceO2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGPUConstantMem.h
More file actions
77 lines (69 loc) · 1.74 KB
/
Copy pathGPUConstantMem.h
File metadata and controls
77 lines (69 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Copyright CERN and copyright holders of ALICE O2. This software is
// distributed under the terms of the GNU General Public License v3 (GPL
// Version 3), copied verbatim in the file "COPYING".
//
// See http://alice-o2.web.cern.ch/license for full licensing information.
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
/// \file GPUConstantMem.h
/// \author David Rohr
#ifndef GPUCONSTANTMEM_H
#define GPUCONSTANTMEM_H
#include "GPUTPCTracker.h"
#include "GPUParam.h"
#include "GPUDataTypes.h"
#if defined(GPUCA_NOCOMPAT_ALLCINT) && (!defined(GPUCA_GPULIBRARY) || !defined(GPUCA_ALIROOT_LIB))
#include "GPUTPCConvert.h"
#include "GPUTPCCompression.h"
#include "GPUTPCGMMerger.h"
#include "GPUITSFitter.h"
#include "GPUTRDTracker.h"
#else
namespace GPUCA_NAMESPACE
{
namespace gpu
{
class GPUTPCGMMerger
{
};
class GPUITSFitter
{
};
class GPUTRDTracker
{
void SetMaxData() {}
};
class GPUTPCConvert
{
};
class GPUTPCCompression
{
};
} // namespace gpu
} // namespace GPUCA_NAMESPACE
#endif
namespace GPUCA_NAMESPACE
{
namespace gpu
{
MEM_CLASS_PRE()
struct GPUConstantMem {
MEM_CONSTANT(GPUParam)
param;
MEM_GLOBAL(GPUTPCTracker)
tpcTrackers[GPUCA_NSLICES];
GPUTPCConvert tpcConverter;
GPUTPCCompression tpcCompressor;
GPUTPCGMMerger tpcMerger;
GPUTRDTracker trdTracker;
GPUITSFitter itsFitter;
GPUTrackingInOutPointers ioPtrs;
GPUCalibObjectsConst calibObjects;
};
// Must be placed here, to avoid circular header dependency
GPUdi() GPUconstantref() const MEM_CONSTANT(GPUParam) & GPUProcessor::Param() const { return mConstantMem->param; }
} // namespace gpu
} // namespace GPUCA_NAMESPACE
#endif