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/ImportMuPairProductionTable.hh
0007 //---------------------------------------------------------------------------//
0008 #pragma once
0009 
0010 #include <vector>
0011 
0012 #include "ImportPhysicsVector.hh"
0013 
0014 namespace celeritas
0015 {
0016 //---------------------------------------------------------------------------//
0017 /*!
0018  * Sampling table for electron-positron pair production by muons.
0019  *
0020  * This 3-dimensional table is used to sample the energy transfer to the
0021  * electron-positron pair, \f$ \epsilon_p \f$. The outer grid stores the atomic
0022  * number using 5 equally spaced points in \f$ \log Z \f$; the x grid tabulates
0023  * the ratio \f$ \log \epsilon_p / T \f$, where \f$ T \f$ is the incident muon
0024  * energy; the y grid stores the incident muon energy using equal spacing in
0025  * \f$ \log T \f$.
0026  */
0027 struct ImportMuPairProductionTable
0028 {
0029     //!@{
0030     //! \name Type aliases
0031     using ZInt = int;
0032     //!@}
0033 
0034     std::vector<ZInt> atomic_number;
0035     std::vector<ImportPhysics2DVector> physics_vectors;
0036 
0037     explicit operator bool() const
0038     {
0039         return !atomic_number.empty()
0040                && physics_vectors.size() == atomic_number.size();
0041     }
0042 };
0043 
0044 //---------------------------------------------------------------------------//
0045 }  // namespace celeritas