Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-26 08:22:11

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2025 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 #pragma once
0009 
0010 // Project include(s).
0011 #include "traccc/bfield/magnetic_field.hpp"
0012 
0013 namespace traccc::cuda {
0014 
0015 /// Storage method for inhomogeneous magnetic fields
0016 enum class magnetic_field_storage {
0017   global_memory,  ///< Store the magnetic field in global device memory
0018   texture_memory  ///< Store the magnetic field in texture device memory
0019 };
0020 
0021 /// Create a magnetic field usable on the active CUDA device
0022 ///
0023 /// @param bfield The magnetic field to be copied
0024 /// @param storage The storage method to use for the magnetic field
0025 /// @return A copy of the magnetic field that can be used on the active CUDA
0026 ///         device
0027 ///
0028 magnetic_field make_magnetic_field(
0029     const magnetic_field& bfield,
0030     magnetic_field_storage storage = magnetic_field_storage::global_memory);
0031 
0032 }  // namespace traccc::cuda