Celeritas 0.7.0-dev.170+develop.df22d2a88
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::FresnelCalculator Class Reference

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.
 

Detailed Description

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.


The documentation for this class was generated from the following file: