Back to home page

EIC code displayed by LXR

 
 

    


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

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/io/ImportOpticalModel.hh
0007 //---------------------------------------------------------------------------//
0008 #pragma once
0009 
0010 #include <vector>
0011 
0012 #include "ImportPhysicsVector.hh"
0013 
0014 namespace celeritas
0015 {
0016 namespace optical
0017 {
0018 //---------------------------------------------------------------------------//
0019 /*!
0020  * Enumerator for available optical physics models.
0021  *
0022  * This enum is used to identify the optical model that imported model MFP
0023  * tables correspond to.
0024  */
0025 enum class ImportModelClass
0026 {
0027     other,
0028     absorption,
0029     rayleigh,
0030     wls,
0031     size_
0032 };
0033 
0034 //---------------------------------------------------------------------------//
0035 // FREE FUNCTIONS
0036 //---------------------------------------------------------------------------//
0037 
0038 // Get the string form of one of the enumerations
0039 char const* to_cstring(ImportModelClass imc);
0040 
0041 //---------------------------------------------------------------------------//
0042 }  // namespace optical
0043 
0044 //---------------------------------------------------------------------------//
0045 /*!
0046  * Imported data for an optical physics model.
0047  */
0048 struct ImportOpticalModel
0049 {
0050     optical::ImportModelClass model_class;
0051     std::vector<ImportPhysicsVector> mfps;  //!< per optical material MFPs
0052 };
0053 
0054 //---------------------------------------------------------------------------//
0055 }  // namespace celeritas