![]() |
|
|||
File indexing completed on 2025-02-22 10:31:20
0001 //----------------------------------*-C++-*----------------------------------// 0002 // Copyright 2024 UT-Battelle, LLC, and other Celeritas developers. 0003 // See the top-level COPYRIGHT file for details. 0004 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0005 //---------------------------------------------------------------------------// 0006 //! \file celeritas/ext/detail/GeantOpticalModelImporter.hh 0007 //---------------------------------------------------------------------------// 0008 #pragma once 0009 0010 #include <optional> 0011 #include <string> 0012 #include <vector> 0013 0014 #include "corecel/OpaqueId.hh" 0015 #include "celeritas/Types.hh" 0016 #include "celeritas/io/ImportOpticalModel.hh" 0017 0018 class G4VProcess; 0019 class G4MaterialPropertiesTable; 0020 0021 namespace celeritas 0022 { 0023 struct ImportPhysMaterial; 0024 0025 namespace detail 0026 { 0027 //---------------------------------------------------------------------------// 0028 /*! 0029 * Imports optical model MFP tables from Geant4 material property tables. 0030 */ 0031 class GeantOpticalModelImporter 0032 { 0033 public: 0034 //!@{ 0035 //! \name Type aliases 0036 using IMC = optical::ImportModelClass; 0037 //!@} 0038 0039 public: 0040 // Construct model importer with given optical material mapping 0041 GeantOpticalModelImporter(std::vector<ImportPhysMaterial> const& materials); 0042 0043 // Import model MFP table for given model class 0044 ImportOpticalModel operator()(IMC imc) const; 0045 0046 private: 0047 // Import MFP table for the given property name 0048 std::vector<ImportPhysicsVector> 0049 import_mfps(std::string const& mfp_property_name) const; 0050 0051 std::vector<G4MaterialPropertiesTable const*> opt_to_mat_; 0052 }; 0053 0054 //---------------------------------------------------------------------------// 0055 } // namespace detail 0056 } // namespace celeritas
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |