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

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.
 

Detailed Description

Calculator for UNIFIED reflection model.

The model specifies 4 different reflection modes:

  1. Specular spike: geometric reflection about global normal
  2. Specular lobe: geometric reflection about facet normal
  3. Back-scattering: reversed photon direction and polarization
  4. Diffuse Lambertian: reflection following Lambert's cosine law

Member Function Documentation

◆ calc_backscatter()

CELER_FUNCTION SurfaceInteraction celeritas::optical::ReflectionFormCalculator::calc_backscatter ( ) const
inline

Calculate back-scattering reflection.

The photon direction and polarization are reversed.

◆ calc_specular_lobe()

CELER_FUNCTION SurfaceInteraction celeritas::optical::ReflectionFormCalculator::calc_specular_lobe ( ) const
inline

Calculate specular lobe reflection.

This is geometric reflection about the facet normal.

◆ calc_specular_spike()

CELER_FUNCTION SurfaceInteraction celeritas::optical::ReflectionFormCalculator::calc_specular_spike ( ) const
inline

Calculate specular spike reflection.

This is geometric reflection about the global normal.

◆ sample_lambertian_reflection()

template<class Engine >
CELER_FUNCTION SurfaceInteraction celeritas::optical::ReflectionFormCalculator::sample_lambertian_reflection ( Engine rng) const
inline

Sample diffuse Lambertian reflection.

Ideal diffuse reflection following Lambert's cosine law.


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