|
|
|||
File indexing completed on 2026-11-07 10:11:36
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/mucf/process/MucfProcess.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include "celeritas/Types.hh" 0010 #include "celeritas/phys/Process.hh" 0011 0012 namespace celeritas 0013 { 0014 class MaterialParams; 0015 class ParticleParams; 0016 0017 //---------------------------------------------------------------------------// 0018 /*! 0019 * Muon-catalyzed fusion of muonic dd, dt, or tt molecules. 0020 * 0021 * \note This is an at-rest process. 0022 */ 0023 class MucfProcess final : public Process 0024 { 0025 public: 0026 //!@{ 0027 //! \name Type aliases 0028 using SPConstParticles = std::shared_ptr<ParticleParams const>; 0029 using SPConstMaterials = std::shared_ptr<MaterialParams const>; 0030 //!@} 0031 0032 public: 0033 // Construct from shared and imported data 0034 explicit MucfProcess(SPConstParticles particles, 0035 SPConstMaterials materials); 0036 0037 // Construct the models associated with this process 0038 VecModel build_models(ActionIdIter start_id) const final; 0039 0040 // Get the interaction cross sections for the given energy range 0041 XsGrid macro_xs(Applicability) const final; 0042 0043 // Get the energy loss for the given energy range 0044 EnergyLossGrid energy_loss(Applicability) const final; 0045 0046 //! Whether the integral method can be used to sample interaction length 0047 bool supports_integral_xs() const final { return false; } 0048 0049 //! Whether the process applies when the particle is stopped 0050 bool applies_at_rest() const final { return true; } 0051 0052 // Name of the process 0053 std::string_view label() const final; 0054 0055 private: 0056 SPConstParticles particles_; 0057 SPConstMaterials materials_; 0058 }; 0059 0060 //---------------------------------------------------------------------------// 0061 } // 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 |
|