| Celeritas 0.7.0-dev.170+develop.df22d2a88
    | 
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. | |
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.