|
Celeritas 0.7.0-dev.196+develop.8d0d9047c
|
Calculator for UNIFIED reflection model. More...
#include <ReflectionFormCalculator.hh>
Public Member Functions | |
| CELER_FUNCTION | ReflectionFormCalculator (Real3 const &direction, Real3 const &polarization, Real3 const &global_normal, Real3 const &facet_normal) |
| Construct calculator from photon and surface data. | |
| CELER_FUNCTION | ReflectionFormCalculator (Real3 const &inc_direction, ParticleTrackView const &photon, SurfacePhysicsTrackView const &surface_physics) |
| Construct calculator from a given track's views. | |
| CELER_FUNCTION SurfaceInteraction | calc_specular_spike () const |
| Calculate specular spike reflection. | |
| CELER_FUNCTION SurfaceInteraction | calc_specular_lobe () const |
| Calculate specular lobe reflection. | |
| CELER_FUNCTION SurfaceInteraction | calc_backscatter () const |
| Calculate back-scattering reflection. | |
| template<class Engine > | |
| CELER_FUNCTION SurfaceInteraction | sample_lambertian_reflection (Engine &rng) const |
| Sample diffuse Lambertian reflection. | |
Calculator for UNIFIED reflection model.
The model specifies 4 different reflection modes:
|
inline |
Calculate back-scattering reflection.
The photon direction and polarization are reversed.
|
inline |
Calculate specular lobe reflection.
This is geometric reflection about the facet normal.
|
inline |
Calculate specular spike reflection.
This is geometric reflection about the global normal.
|
inline |
Sample diffuse Lambertian reflection.
Ideal diffuse reflection following Lambert's cosine law.