|
|
|||
File indexing completed on 2026-11-07 10:11:35
0001 //------------------------------- -*- C++ -*- -------------------------------// 0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details 0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0004 //---------------------------------------------------------------------------// 0005 //! \file celeritas/io/GammaNuclearXsReader.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include <string> 0010 0011 #include "corecel/inp/Grid.hh" 0012 #include "corecel/math/Quantity.hh" 0013 #include "corecel/math/UnitUtils.hh" 0014 #include "celeritas/UnitTypes.hh" 0015 #include "celeritas/Units.hh" 0016 #include "celeritas/phys/AtomicNumber.hh" 0017 0018 namespace celeritas 0019 { 0020 //---------------------------------------------------------------------------// 0021 /*! 0022 * Load the gamma-nuclear cross section (G4PARTICLEXSDATA/gamma) data 0023 */ 0024 class GammaNuclearXsReader 0025 { 0026 public: 0027 //!@{ 0028 //! \name Type aliases 0029 using result_type = inp::Grid; 0030 using MmSqMicroXs 0031 = Quantity<UnitProduct<units::Millimeter, units::Millimeter>, double>; 0032 //!@} 0033 0034 public: 0035 // Construct the reader using from the environment variable 0036 explicit GammaNuclearXsReader(); 0037 0038 // Construct the reader from the path to the data directory and the type 0039 GammaNuclearXsReader(char const* path); 0040 0041 // Read the data for the given element 0042 result_type operator()(AtomicNumber atomic_number) const; 0043 0044 private: 0045 // Directory containing the gamma-nuclear cross section data 0046 std::string path_; 0047 }; 0048 0049 //---------------------------------------------------------------------------// 0050 } // 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 |
|