4#ifndef ACTSGPUDATAPREPARATION_CUDACLUSTERIZATIONALGPROVIDERTOOL_H
5#define ACTSGPUDATAPREPARATION_CUDACLUSTERIZATIONALGPROVIDERTOOL_H
13#include "vecmem/utils/cuda/copy.hpp"
15#include <Gaudi/Property.h>
36 :
public extends<AthAlgTool, IDeviceClusterizationAlgProviderTool>
39 using extends::extends;
45 virtual std::pair<std::shared_ptr<const vecmem::copy>, std::shared_ptr<const traccc::device::clusterization_algorithm>>
getClusterizationAlgorithm(
const EventContext& ctx)
const override;
50 virtual std::pair<std::shared_ptr<const vecmem::copy>, std::shared_ptr<const IDeviceClusterizationAlgProviderTool::sorting_algorithm_type>>
60 "Whether to sort traccc cells on GPU prior to clusterization"};
62 ToolHandle<AthDevice::IMemoryResourcesTool>
m_MRs{
63 this,
"MemoryResourcesTool",
"",
64 "The memory resources tool to use for allocating memory on the device"};
67 ToolHandle<AthDevice::ICopyTool>
m_copy{
68 this,
"CopyProviderTool",
"",
"Vecmem copy provider tool"};
71 this,
"StreamTool",
"",
"CUDA stream provider tool"};
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...