Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2021-2026 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/seeding/grids/axis.hpp"
0012 #include "traccc/seeding/grids/grid2.hpp"
0013 #include "traccc/seeding/grids/populator.hpp"
0014 #include "traccc/seeding/grids/serializer2.hpp"
0015 
0016 // Detray include(s)
0017 #include <detray/utils/tuple.hpp>
0018 
0019 // VecMem include(s).
0020 #include <vecmem/containers/device_vector.hpp>
0021 #include <vecmem/containers/jagged_device_vector.hpp>
0022 #include <vecmem/containers/jagged_vector.hpp>
0023 #include <vecmem/containers/vector.hpp>
0024 
0025 namespace traccc::details {
0026 
0027 /// @brief Type definitions for the spacepoint grid.
0028 ///
0029 /// This struct contains all the type definitions that are needed to work with
0030 /// the spacepoint grid.
0031 ///
0032 struct spacepoint_grid_types {
0033   /// Spacepoint grid host type
0034   using host =
0035       grid2<attach_populator, axis2::circular, axis2::regular, serializer2>;
0036 
0037   /// Spacepoint grid (non-const) device type
0038   using device =
0039       grid2<attach_populator, axis2::circular, axis2::regular, serializer2,
0040             vecmem::device_vector, vecmem::jagged_device_vector>;
0041   /// Spacepoint grid (const) device type
0042   using const_device =
0043       grid2<attach_populator, axis2::circular, axis2::regular, serializer2,
0044             vecmem::device_vector, vecmem::jagged_device_vector, std::array,
0045             detray::tuple, const unsigned int>;
0046 
0047   /// Spacepoint grid (non-const) data type
0048   using data = grid2_data<host>;
0049   /// Spacepoint grid (const) data type
0050   using const_data = const_grid2_data<host>;
0051 
0052   /// Spacepoint grid (non-const) view type
0053   using view = grid2_view<host>;
0054   /// Spacepoint grid (const) view type
0055   using const_view = const_grid2_view<host>;
0056 
0057   /// Spacepoint grid buffer type
0058   using buffer = grid2_buffer<host>;
0059 
0060 };  // struct spacepoint_grid_types
0061 
0062 }  // namespace traccc::details