File indexing completed on 2025-07-03 00:42:11
0001 #ifndef DataFormats_TrackSoA_interface_alpaka_TracksSoACollection_h
0002 #define DataFormats_TrackSoA_interface_alpaka_TracksSoACollection_h
0003
0004 #include <type_traits>
0005
0006 #include <alpaka/alpaka.hpp>
0007
0008 #include "DataFormats/Portable/interface/alpaka/PortableCollection.h"
0009 #include "DataFormats/TrackSoA/interface/TracksDevice.h"
0010 #include "DataFormats/TrackSoA/interface/TracksHost.h"
0011 #include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
0012 #include "HeterogeneousCore/AlpakaInterface/interface/AssertDeviceMatchesHostCollection.h"
0013 #include "HeterogeneousCore/AlpakaInterface/interface/CopyToHost.h"
0014 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0015
0016 namespace ALPAKA_ACCELERATOR_NAMESPACE::reco {
0017
0018 using ::reco::TracksDevice;
0019 using ::reco::TracksHost;
0020 using TracksSoACollection =
0021 std::conditional_t<std::is_same_v<Device, alpaka::DevCpu>, TracksHost, TracksDevice<Device>>;
0022
0023 }
0024
0025 ASSERT_DEVICE_MATCHES_HOST_COLLECTION(reco::TracksSoACollection, reco::TracksHost);
0026
0027 #endif