Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-30 07:54:55

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 #include "Acts/Material/HomogeneousSurfaceMaterial.hpp"
0012 #include "Acts/Material/ISurfaceMaterial.hpp"
0013 #include "Acts/Material/MaterialSlab.hpp"
0014 #include "Acts/Utilities/BinningData.hpp"
0015 #include "Acts/Utilities/Logger.hpp"
0016 #include "ActsPlugins/Detray/DetrayConversionUtils.hpp"
0017 
0018 #include <detray/io/frontend/payloads.hpp>
0019 
0020 namespace Acts::Experimental {
0021 class Detector;
0022 }  // namespace Acts::Experimental
0023 
0024 namespace ActsPlugins::DetrayMaterialConverter {
0025 
0026 /// Conversion method for homogeneous material
0027 ///
0028 /// @param cCache object to have the link association from the geometry building
0029 /// @param detector the detector object
0030 /// @param logger the logger object for screen output
0031 ///
0032 /// @return the volume_payload for portals and volumes by @param volume acts object
0033 detray::io::detector_homogeneous_material_payload
0034 convertHomogeneousSurfaceMaterial(const DetrayConversionUtils::Cache& cCache,
0035                                   const Acts::Experimental::Detector& detector,
0036                                   const Acts::Logger& logger);
0037 
0038 /// Conversion method for grid based surface material
0039 ///
0040 /// @param material the material (Binned/Grid)
0041 /// @param logger the logger object for screen output
0042 ///
0043 /// @return a surface material
0044 detray::io::grid_payload<detray::io::material_slab_payload,
0045                          detray::io::material_id>
0046 convertGridSurfaceMaterial(const Acts::ISurfaceMaterial& material,
0047                            const Acts::Logger& logger);
0048 
0049 /// Conversion method for material grids
0050 ///
0051 /// @param cCache object to have the link association from the geometry building
0052 /// @param detector the detector object
0053 /// @param logger the logger object for screen output
0054 ///
0055 /// @return the volume_payload for portals and volumes by @param volume acts object
0056 detray::io::detector_grids_payload<detray::io::material_slab_payload,
0057                                    detray::io::material_id>
0058 convertGridSurfaceMaterial(const DetrayConversionUtils::Cache& cCache,
0059                            const Acts::Experimental::Detector& detector,
0060                            const Acts::Logger& logger);
0061 
0062 }  // namespace ActsPlugins::DetrayMaterialConverter