ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::CUDAMagFieldProviderTool Class Reference

Tool providing CUDA-based traccc magnetic field algorithm. More...

#include <CUDAMagFieldProviderTool.h>

Inheritance diagram for ActsTrk::CUDAMagFieldProviderTool:
Collaboration diagram for ActsTrk::CUDAMagFieldProviderTool:

Public Member Functions

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.

Public Attributes

traccc::cuda::magnetic_field_storage m_storage {}

Private Attributes

Gaudi::Property< std::string > m_magFieldStorage

Detailed Description

Tool providing CUDA-based traccc magnetic field algorithm.

This tool constructs the traccc device magnetic field algorithm, configured to run on with CUDA backend.

Author
Neža Ribarič neza..nosp@m.riba.nosp@m.ric@c.nosp@m.ern..nosp@m.ch

Definition at line 27 of file CUDAMagFieldProviderTool.h.

Member Function Documentation

◆ getDeviceMagneticField()

traccc::magnetic_field ActsTrk::CUDAMagFieldProviderTool::getDeviceMagneticField ( traccc::magnetic_field const & host_bfield) const
overridevirtual

Function constructing the traccc device cuda magnetic field.

Returns
cuda magnetic field

Definition at line 28 of file CUDAMagFieldProviderTool.cxx.

30{
31 return traccc::cuda::make_magnetic_field(host_bfield, m_storage);
32}
traccc::cuda::magnetic_field_storage m_storage

◆ initialize()

StatusCode ActsTrk::CUDAMagFieldProviderTool::initialize ( )
overridevirtual

Function initializing the algorithm.

Definition at line 10 of file CUDAMagFieldProviderTool.cxx.

11{
12 ATH_MSG_DEBUG("Initializing CUDAMagFieldProviderTool.");
13
14 if (m_magFieldStorage.value() == "global_memory") {
15 m_storage = traccc::cuda::magnetic_field_storage::global_memory;
16 } else if (m_magFieldStorage.value() == "texture_memory") {
17 m_storage = traccc::cuda::magnetic_field_storage::texture_memory;
18 } else {
19 ATH_MSG_FATAL("Unknown MagFieldStorage value.");
20 return StatusCode::FAILURE;
21 }
22
23 return StatusCode::SUCCESS;
24}
#define ATH_MSG_FATAL(x)
#define ATH_MSG_DEBUG(x)
Gaudi::Property< std::string > m_magFieldStorage

Member Data Documentation

◆ m_magFieldStorage

Gaudi::Property<std::string> ActsTrk::CUDAMagFieldProviderTool::m_magFieldStorage
private
Initial value:
{
this, "MagFieldStorage", "global_memory",
"Storage method for the CUDA device magnetic field; global or texture memory"}

Definition at line 41 of file CUDAMagFieldProviderTool.h.

41 {
42 this, "MagFieldStorage", "global_memory",
43 "Storage method for the CUDA device magnetic field; global or texture memory"};

◆ m_storage

traccc::cuda::magnetic_field_storage ActsTrk::CUDAMagFieldProviderTool::m_storage {}

Definition at line 38 of file CUDAMagFieldProviderTool.h.

38{};

The documentation for this class was generated from the following files: