ATLAS Offline Software
Loading...
Searching...
No Matches
HIPMagFieldProviderTool.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_HIPMAGFIELDPROVIDERTOOL_H
5#define ACTSGPUMAGFIELD_HIPMAGFIELDPROVIDERTOOL_H
6
9
10#include "traccc/hip/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
39 private:
40 traccc::hip::magnetic_field_storage m_storage{traccc::hip::magnetic_field_storage::global_memory};
41 Gaudi::Property<std::string> m_magFieldStorage{
42 this, "MagFieldStorage", "global_memory",
43 "Storage method for the HIP device magnetic field; global or texture memory"};
44
45
46};
47
48} // namespace ActsTrk
49
50#endif // ACTSGPUMAGFIELD_HIPMAGFIELDPROVIDERTOOL_H
Tool providing HIP-based traccc magnetic field algorithm.
traccc::hip::magnetic_field_storage m_storage
Gaudi::Property< std::string > m_magFieldStorage
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 hip magnetic field.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...