1 #ifndef RecoTracker_LSTCore_interface_LSTESData_h 2 #define RecoTracker_LSTCore_interface_LSTESData_h 15 template <
typename TDev>
22 std::shared_ptr<const PortableMultiCollection<TDev, ModulesSoA, ModulesPixelSoA>>
modules;
23 std::shared_ptr<const PortableCollection<EndcapGeometryDevSoA, TDev>>
endcapGeometry;
28 uint16_t
const& nLowerModulesIn,
29 unsigned int const& nPixelsIn,
30 unsigned int const& nEndCapMapIn,
33 std::shared_ptr<const PixelMap>
const& pixelMappingIn)
51 template <
typename TQueue>
54 using TDev = alpaka::Dev<TQueue>;
55 std::shared_ptr<const PortableMultiCollection<TDev, lst::ModulesSoA, lst::ModulesPixelSoA>> deviceModules;
56 std::shared_ptr<const PortableCollection<lst::EndcapGeometryDevSoA, TDev>> deviceEndcapGeometry;
58 if constexpr (std::is_same_v<TDev, alpaka_common::DevHost>) {
59 deviceModules = srcData.
modules;
62 deviceModules = std::make_shared<PortableMultiCollection<TDev, lst::ModulesSoA, lst::ModulesPixelSoA>>(
65 deviceEndcapGeometry = std::make_shared<PortableCollection<lst::EndcapGeometryDevSoA, TDev>>(
std::shared_ptr< const PixelMap > pixelMapping
typename traits::PortableMultiCollectionTrait< TDev, T0, Args... >::CollectionType PortableMultiCollection
std::shared_ptr< const PortableMultiCollection< TDev, ModulesSoA, ModulesPixelSoA > > modules
std::unique_ptr< LSTESData< alpaka_common::DevHost > > loadAndFillESHost()
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
std::shared_ptr< const PortableCollection< EndcapGeometryDevSoA, TDev > > endcapGeometry
LSTESData(uint16_t const &nModulesIn, uint16_t const &nLowerModulesIn, unsigned int const &nPixelsIn, unsigned int const &nEndCapMapIn, std::shared_ptr< const PortableMultiCollection< TDev, ModulesSoA, ModulesPixelSoA >> modulesIn, std::shared_ptr< const PortableCollection< EndcapGeometryDevSoA, TDev >> endcapGeometryIn, std::shared_ptr< const PixelMap > const &pixelMappingIn)
typename traits::PortableCollectionTrait< T, TDev >::CollectionType PortableCollection