|
|
|||
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/DTChannelSelector.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include "celeritas/mucf/interactor/DTMucfInteractor.hh" 0010 0011 namespace celeritas 0012 { 0013 namespace detail 0014 { 0015 //---------------------------------------------------------------------------// 0016 /*! 0017 * Select final channel for muonic dt molecules. 0018 * 0019 * This selection already accounts for sticking, as that is one of the possible 0020 * outcomes. 0021 */ 0022 class DTChannelSelector 0023 { 0024 public: 0025 //!@{ 0026 //! \name Type aliases 0027 using Channel = DTMucfInteractor::Channel; 0028 //!@} 0029 0030 public: 0031 //! Construct with args; \todo Update documentation 0032 inline CELER_FUNCTION DTChannelSelector(/* args */); 0033 0034 // Select fusion channel to be used by the interactor 0035 template<class Engine> 0036 inline CELER_FUNCTION Channel operator()(Engine&); 0037 }; 0038 0039 //---------------------------------------------------------------------------// 0040 // INLINE DEFINITIONS 0041 //---------------------------------------------------------------------------// 0042 /*! 0043 * Construct with args. 0044 * 0045 * \todo Update documentation 0046 */ 0047 CELER_FUNCTION DTChannelSelector::DTChannelSelector(/* args */) 0048 { 0049 CELER_NOT_IMPLEMENTED("Mucf dt fusion channel selection"); 0050 } 0051 0052 //---------------------------------------------------------------------------// 0053 /*! 0054 * Return a sampled channel to be used as input in the dt muCF interactor. 0055 * 0056 * \sa celeritas::DTMucfInteractor 0057 */ 0058 template<class Engine> 0059 CELER_FUNCTION DTChannelSelector::Channel DTChannelSelector::operator()(Engine&) 0060 { 0061 Channel result{Channel::size_}; 0062 0063 //! \todo Implement 0064 // Final channel selection already takes into account sticking. 0065 0066 CELER_ENSURE(result < Channel::size_); 0067 return result; 0068 } 0069 0070 //---------------------------------------------------------------------------// 0071 } // namespace detail 0072 } // 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 |
|