|
|
|||
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/mucf/executor/detail/DTMixMuonicMoleculeSelector.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include "celeritas/Types.hh" 0010 0011 namespace celeritas 0012 { 0013 namespace detail 0014 { 0015 //---------------------------------------------------------------------------// 0016 /*! 0017 * Select a muonic molecule by calculating the interaction lengths of the 0018 * possible molecule formations. 0019 * 0020 * This is the equivalent of Geant4's 0021 * \c G4VRestProcess::AtRestGetPhysicalInteractionLength 0022 */ 0023 class DTMixMuonicMoleculeSelector 0024 { 0025 public: 0026 //! Construct with args; \todo Update documentation 0027 inline CELER_FUNCTION DTMixMuonicMoleculeSelector(/* args */); 0028 0029 // Select muonic molecule 0030 template<class Engine> 0031 inline CELER_FUNCTION MucfMuonicMolecule operator()(Engine&); 0032 }; 0033 0034 //---------------------------------------------------------------------------// 0035 // INLINE DEFINITIONS 0036 //---------------------------------------------------------------------------// 0037 /*! 0038 * Construct with args. 0039 * 0040 * \todo Update documentation 0041 */ 0042 CELER_FUNCTION DTMixMuonicMoleculeSelector::DTMixMuonicMoleculeSelector( 0043 /* args */) 0044 { 0045 //! \todo Implement 0046 CELER_NOT_IMPLEMENTED("Mucf muonic molecule selection"); 0047 } 0048 0049 //---------------------------------------------------------------------------// 0050 /*! 0051 * Return selected muonic molecule. 0052 */ 0053 template<class Engine> 0054 CELER_FUNCTION MucfMuonicMolecule DTMixMuonicMoleculeSelector::operator()( 0055 Engine&) 0056 { 0057 MucfMuonicMolecule result{MucfMuonicMolecule::size_}; 0058 0059 //! \todo Implement 0060 0061 CELER_ENSURE(result < MucfMuonicMolecule::size_); 0062 return result; 0063 } 0064 0065 //---------------------------------------------------------------------------// 0066 } // namespace detail 0067 } // 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 |
|