ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUEvent
ActsGPUEvent
VecMemSoASGHelpers.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
#ifndef ACTSGPUEVENT_VECMEMSOASGHELPERS_H
3
#define ACTSGPUEVENT_VECMEMSOASGHELPERS_H
4
5
// Framework include(s).
6
#include "
AthenaKernel/BaseInfo.h
"
7
10
#define SG_ADD_VECMEM_SOA_CONVERSIONS(COLLECTION, CNVNAME) \
11
SG_BASES(COLLECTION::buffer, COLLECTION::view); \
12
SG_BASES(COLLECTION::data, COLLECTION::view); \
13
SG_BASES(COLLECTION::const_data, COLLECTION::const_view); \
14
namespace ActsTrk { \
15
struct Device##CNVNAME##ViewConversion \
16
: public SG::CopyConversion<COLLECTION::view, COLLECTION::const_view> { \
17
virtual void convert(const COLLECTION::view& view, \
18
COLLECTION::const_view& const_view) const override { \
19
const_view = view; \
20
} \
21
}; \
22
struct Device##CNVNAME##BufferConversion \
23
: public SG::CopyConversion<COLLECTION::buffer, \
24
COLLECTION::const_view> { \
25
virtual void convert(const COLLECTION::buffer& buffer, \
26
COLLECTION::const_view& const_view) const override { \
27
const_view = buffer; \
28
} \
29
}; \
30
struct Device##CNVNAME##DataConversion \
31
: public SG::CopyConversion<COLLECTION::data, \
32
COLLECTION::const_view> { \
33
virtual void convert(const COLLECTION::data& data, \
34
COLLECTION::const_view& const_view) const override { \
35
const_view = data; \
36
} \
37
}; \
38
struct Device##CNVNAME##HostConversion \
39
: public SG::CopyConversion<COLLECTION::host, COLLECTION::const_data> { \
40
virtual void convert(const COLLECTION::host& host, \
41
COLLECTION::const_data& const_data) const override { \
42
const_data = vecmem::get_data(host); \
43
} \
44
}; \
45
} \
46
SG_ADD_COPY_CONVERSION(COLLECTION::view, \
47
ActsTrk::Device##CNVNAME##ViewConversion); \
48
SG_ADD_COPY_CONVERSION(COLLECTION::buffer, \
49
ActsTrk::Device##CNVNAME##BufferConversion); \
50
SG_ADD_COPY_CONVERSION(COLLECTION::data, \
51
ActsTrk::Device##CNVNAME##DataConversion); \
52
SG_ADD_COPY_CONVERSION(COLLECTION::host, \
53
ActsTrk::Device##CNVNAME##HostConversion)
54
55
#endif
// ACTSGPUEVENT_VECMEMSOASGHELPERS_H
BaseInfo.h
Provide an interface for finding inheritance information at run time.
Generated on
for ATLAS Offline Software by
1.16.1