File indexing completed on 2026-05-27 07:23:57
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #if DETRAY_ALGEBRA_ARRAY
0012 #include "algebra/array.hpp"
0013 #elif DETRAY_ALGEBRA_EIGEN
0014 #include "algebra/eigen.hpp"
0015 #elif DETRAY_ALGEBRA_FASTOR
0016 #include "algebra/fastor.hpp"
0017 #elif DETRAY_ALGEBRA_SMATRIX
0018 #include "algebra/smatrix.hpp"
0019 #elif DETRAY_ALGEBRA_VC_AOS || DETRAY_ALGEBRA_VC_SOA
0020
0021 #if DETRAY_ALGEBRA_VC_AOS
0022 #include "algebra/vc_aos.hpp"
0023 #endif
0024
0025 #if DETRAY_ALGEBRA_VC_SOA
0026 #include "algebra/vc_soa.hpp"
0027 #endif
0028
0029 #else
0030 #error "No algebra plugin selected! Please link to one of the algebra plugins."
0031 #endif
0032
0033
0034 #include "detray/algebra/common/boolean.hpp"
0035 #include "detray/algebra/common/math.hpp"
0036 #include "detray/algebra/utils/approximately_equal.hpp"
0037 #include "detray/algebra/utils/casts.hpp"
0038 #include "detray/algebra/utils/print.hpp"
0039
0040 namespace detray {
0041
0042 template <typename A>
0043 using dvalue = get_value_t<A>;
0044
0045 template <typename A>
0046 using dbool = get_boolean_t<A>;
0047
0048 template <typename A, typename T>
0049 using dsimd = get_simd_t<A, T>;
0050
0051 template <typename A>
0052 using dindex_type = get_index_t<A>;
0053
0054 template <typename A>
0055 using dscalar = get_scalar_t<A>;
0056
0057 template <typename A>
0058 using dpoint2D = get_point2D_t<A>;
0059
0060 template <typename A>
0061 using dpoint3D = get_point3D_t<A>;
0062
0063 template <typename A>
0064 using dvector2D = get_vector2D_t<A>;
0065
0066 template <typename A>
0067 using dvector3D = get_vector3D_t<A>;
0068
0069 template <typename A>
0070 using dtransform3D = get_transform3D_t<A>;
0071
0072 template <typename A, std::size_t R, std::size_t C>
0073 using dmatrix = get_matrix_t<A, R, C>;
0074
0075 }