Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-27 07:24:13

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 // Project include(s)
0012 #include "detray/definitions/algebra.hpp"
0013 
0014 // Detray test include(s)
0015 #include "detray/test/common/bfield.hpp"
0016 
0017 // Covfie include(s)
0018 #include <covfie/core/backend/transformer/affine.hpp>
0019 #include <covfie/core/backend/transformer/clamp.hpp>
0020 #include <covfie/core/backend/transformer/linear.hpp>
0021 #include <covfie/core/backend/transformer/strided.hpp>
0022 #include <covfie/core/vector.hpp>
0023 #include <covfie/cuda/backend/primitive/cuda_device_array.hpp>
0024 
0025 namespace detray::bfield::cuda {
0026 
0027 // Inhomogeneous field (cuda)
0028 template <typename T>
0029 using inhom_bknd_t = covfie::backend::affine<
0030     covfie::backend::linear<covfie::backend::clamp<covfie::backend::strided<
0031         covfie::vector::vector_d<std::size_t, 3>,
0032         covfie::backend::cuda_device_array<covfie::vector::vector_d<T, 3>>>>>>;
0033 
0034 // Test that the type is a valid backend for a CUDA field
0035 static_assert(covfie::concepts::field_backend<inhom_bknd_t<float>>,
0036               "inhom_bknd_t is not a valid CUDA field backend type");
0037 
0038 }  // namespace detray::bfield::cuda