Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:31:24

0001 //----------------------------------*-C++-*----------------------------------//
0002 // Copyright 2021-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/io/ImportLivermorePE.hh
0007 //---------------------------------------------------------------------------//
0008 #pragma once
0009 
0010 #include <vector>
0011 
0012 #include "ImportPhysicsVector.hh"
0013 
0014 namespace celeritas
0015 {
0016 //---------------------------------------------------------------------------//
0017 /*!
0018  * Livermore EPICS2014 photoelectric cross section data for a single element.
0019  */
0020 struct ImportLivermoreSubshell
0021 {
0022     double binding_energy;  //!< Ionization energy [MeV]
0023     std::vector<double> param_lo;  //!< Low energy xs fit parameters
0024     std::vector<double> param_hi;  //!< High energy xs fit parameters
0025     std::vector<double> xs;  //!< Tabulated cross sections [b]
0026     std::vector<double> energy;  //!< Tabulated energies [MeV]
0027 };
0028 
0029 struct ImportLivermorePE
0030 {
0031     ImportPhysicsVector xs_lo;  //!< Low energy range tabulated xs [b]
0032     ImportPhysicsVector xs_hi;  //!< High energy range tabulated xs [b]
0033     double thresh_lo;  //!< Threshold for low energy fit [MeV]
0034     double thresh_hi;  //!< Threshold for high energy fit [MeV]
0035     std::vector<ImportLivermoreSubshell> shells;
0036 };
0037 
0038 //---------------------------------------------------------------------------//
0039 }  // namespace celeritas