Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:11:39

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/optical/surface/model/FresnelReflectivityExecutor.hh
0006 //---------------------------------------------------------------------------//
0007 #pragma once
0008 
0009 #include "celeritas/optical/CoreTrackView.hh"
0010 
0011 namespace celeritas
0012 {
0013 namespace optical
0014 {
0015 //---------------------------------------------------------------------------//
0016 /*!
0017  * Return an interact result for the reflectivity action.
0018  */
0019 struct FresnelReflectivityExecutor
0020 {
0021     // Get trivial reflectivity action
0022     inline CELER_FUNCTION ReflectivityAction operator()(
0023         CoreTrackView const&) const;
0024 };
0025 
0026 //---------------------------------------------------------------------------//
0027 // INLINE DEFINITIONS
0028 //---------------------------------------------------------------------------//
0029 /*!
0030  * Get trivial reflectivity action.
0031  *
0032  * Always returns a \c interact result for the reflectivity action.
0033  */
0034 CELER_FUNCTION ReflectivityAction FresnelReflectivityExecutor::operator()(
0035     CoreTrackView const&) const
0036 {
0037     return ReflectivityAction::interact;
0038 }
0039 
0040 //---------------------------------------------------------------------------//
0041 }  // namespace optical
0042 }  // namespace celeritas