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

Sample optical interactions for dielectric-dielectric and dielectric-metal interfaces. More...

#include <DielectricInteractor.hh>

Classes

struct  Executor
 

Public Member Functions

CELER_FUNCTION DielectricInteractor (ParticleTrackView const &particle, Real3 const &inc_direction, SurfacePhysicsTrackView const &surface_physics, MaterialView const &pre_material, MaterialView const &post_material, ReflectionModeSampler reflection_calc, DielectricInterface dielectric_interface)
 Construct an interactor from track views.
 
template<class Engine >
CELER_FUNCTION SurfaceInteraction operator() (Engine &) const
 Sample the dielectric interaction.
 

Detailed Description

Sample optical interactions for dielectric-dielectric and dielectric-metal interfaces.

For both interfaces, the reflectivity is first calculated from Fresnel equations with the FresnelCalculator and sampled to determine if the photon will reflect or refract. If it reflects, then the UNIFIED model is used to handle the different forms of reflection via ReflectionFormSampler. If it refracts, then dielectric-dielectric interfaces will use Snell's law to determine the refracted wave direction and polarization. For dielectric-metal interfaces, refracted waves are just absorbed.


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