| Celeritas 0.7.0-dev.170+develop.df22d2a88
    | 
Helper class for calculating quantities for Fresnel equations. More...
#include <FresnelCalculator.hh>
| Public Member Functions | |
| CELER_FUNCTION | FresnelCalculator (Real3 const &direction, Real3 const &polarization, Real3 const &normal, real_type relative_r_index) | 
| Construct calculator from initial photon and surface physics data. | |
| CELER_FUNCTION | FresnelCalculator (Real3 const &inc_direction, ParticleTrackView const &photon, Real3 const &normal, MaterialView const &pre_material, MaterialView const &post_material) | 
| Construct from track views. | |
| CELER_FUNCTION bool | is_total_internal_reflection () const | 
| Whether the photon is subject to total internal reflection. | |
| CELER_FUNCTION real_type | calc_reflectivity () const | 
| Calculate total reflectivity for the incident photon. | |
| CELER_FUNCTION SurfaceInteraction | refracted_interaction () const | 
| Calculate interaction for refracted wave. | |
Helper class for calculating quantities for Fresnel equations.
Incident waves are decomposed into transverse-electric (TE) and transverse-magnetic (TM) polarizations. The interaction plane is defined as the span of the photon direction and the surface normal. The TE (TM) polarization has the electric (magnetic) field polarization transverse to the interaction plane. If the direction is parallel to the surface normal, then interaction plane is degenerate and the incident photon is defined to be entirely in the TE polarization.
This calculator helps handle this degenerate case, and also handles calculating reflectivity and transmission in the total internal reflection case.
Convention follows [fowles-optics-1975] section 2.6, except that photon phase is not tracked in Celeritas.