ATLAS Offline Software
Loading...
Searching...
No Matches
CUDAMagFieldProviderTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef ACTSGPUMAGFIELD_CUDAMAGFIELDPROVIDERTOOL_H
5#define ACTSGPUMAGFIELD_CUDAMAGFIELDPROVIDERTOOL_H
6
9
10#include "traccc/cuda/utils/make_magnetic_field.hpp"
11
12#include <Gaudi/Property.h>
13#include <string>
14
15namespace ActsTrk {
16
28 : public extends<AthAlgTool, IDeviceMagFieldProviderTool>
29{
30public:
31 using extends::extends;
33 virtual StatusCode initialize() override;
34
37 virtual traccc::magnetic_field getDeviceMagneticField(traccc::magnetic_field const& host_bfield) const override;
38 traccc::cuda::magnetic_field_storage m_storage{};
39
40 private:
41 Gaudi::Property<std::string> m_magFieldStorage{
42 this, "MagFieldStorage", "global_memory",
43 "Storage method for the CUDA device magnetic field; global or texture memory"};
44
45
46};
47
48} // namespace ActsTrk
49
50#endif // ACTSGPUMAGFIELD_CUDAMAGFIELDPROVIDERTOOL_H
Tool providing CUDA-based traccc magnetic field algorithm.
traccc::cuda::magnetic_field_storage m_storage
virtual StatusCode initialize() override
Function initializing the algorithm.
virtual traccc::magnetic_field getDeviceMagneticField(traccc::magnetic_field const &host_bfield) const override
Function constructing the traccc device cuda magnetic field.
Gaudi::Property< std::string > m_magFieldStorage
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...