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