Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-27 07:23:59

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 // Detray include(s)
0012 #include "detray/builders/grid_factory.hpp"
0013 #include "detray/definitions/algebra.hpp"
0014 #include "detray/definitions/containers.hpp"
0015 #include "detray/geometry/concepts.hpp"
0016 #include "detray/material/material_slab.hpp"
0017 #include "detray/utils/grid/concepts.hpp"
0018 #include "detray/utils/grid/detail/axis_helpers.hpp"
0019 #include "detray/utils/grid/grid.hpp"
0020 #include "detray/utils/grid/grid_bins.hpp"
0021 #include "detray/utils/grid/serializers.hpp"
0022 
0023 namespace detray {
0024 
0025 /// Definition of binned material
0026 template <concepts::algebra algebra_t, typename shape_t,
0027           typename container_t = host_container_types, bool owning = false>
0028   requires concepts::shape<shape_t, algebra_t>
0029 using material_map = grid<algebra_t, axes<shape_t>,
0030                           bins::single<material_slab<dscalar<algebra_t>>>,
0031                           simple_serializer, container_t, owning>;
0032 
0033 /// How to build material maps of various shapes
0034 // TODO: Move to material_map_builder once available
0035 template <concepts::algebra algebra_t>
0036 using material_grid_factory =
0037     grid_factory<bins::single<material_slab<dscalar<algebra_t>>>,
0038                  simple_serializer, algebra_t>;
0039 
0040 }  // namespace detray