rl_raylib  1.1.10
rl_ReflectionCoefPOD Class Reference

A Plain Ol' Data class representing complex reflection coefficients. More...

#include <rl_ReflectionCoefPOD.h>

Public Member Functions

double reflectivity (double polarization_factor=0.0) const
 evaluate the reflectivity. More...
 
void init ()
 initialize perpendicular (s) and parallel (p) reflection coefficients to zero.
 
void init (rl_Traits::complex &para, rl_Traits::complex &perp)
 initialize perpendicular (s) and parallel (p) reflection coefficients. More...
 
rl_Traits::complex para () const
 
rl_Traits::complexpara ()
 
rl_Traits::complex perp () const
 
rl_Traits::complexperp ()
 
std::ostream & print_on (std::ostream &os, char const pre[]="", char const pst[]="") const
 Print reflectivity information to output stream. More...
 
void cprint_on (std::FILE *of, char const pre[]="", char const pst[]="") const
 Print reflectivity information to output FILE* stream. More...
 

Detailed Description

A Plain Ol' Data class representing complex reflection coefficients.

Definition at line 76 of file rl_ReflectionCoefPOD.h.

Member Function Documentation

◆ cprint_on()

void rl_ReflectionCoefPOD::cprint_on ( std::FILE *  of,
char const  pre[] = "",
char const  pst[] = "" 
) const
inline

Print reflectivity information to output FILE* stream.

Parameters
ofoutput FILE* stream.
preoptional prefix (char*) string.
pstoptional postfix (char*) string.

Definition at line 219 of file rl_ReflectionCoefPOD.h.

◆ init()

void rl_ReflectionCoefPOD::init ( rl_Traits::complex para,
rl_Traits::complex perp 
)
inline

initialize perpendicular (s) and parallel (p) reflection coefficients.

to zero.

Parameters
paraparallel reflection coefficient.
perpperpendicular reflection coefficient.

Definition at line 179 of file rl_ReflectionCoefPOD.h.

◆ para() [1/2]

rl_Traits::complex rl_ReflectionCoefPOD::para ( ) const
inline
Returns
parallel (p) reflection coefficient.

Definition at line 187 of file rl_ReflectionCoefPOD.h.

◆ para() [2/2]

rl_Traits::complex & rl_ReflectionCoefPOD::para ( )
inline
Returns
parallel (p) reflection coefficient (read/write access).

Definition at line 195 of file rl_ReflectionCoefPOD.h.

◆ perp() [1/2]

rl_Traits::complex rl_ReflectionCoefPOD::perp ( ) const
inline
Returns
perpendicular (p) reflection coefficient.

Definition at line 191 of file rl_ReflectionCoefPOD.h.

◆ perp() [2/2]

rl_Traits::complex & rl_ReflectionCoefPOD::perp ( )
inline
Returns
perpendicular (p) reflection coefficient (read/write access).

Definition at line 199 of file rl_ReflectionCoefPOD.h.

◆ print_on()

std::ostream & rl_ReflectionCoefPOD::print_on ( std::ostream &  os,
char const  pre[] = "",
char const  pst[] = "" 
) const
inline

Print reflectivity information to output stream.

Parameters
osoutput stream.
preoptional prefix (char*) string.
pstoptional postfix (char*) string.

Definition at line 210 of file rl_ReflectionCoefPOD.h.

◆ reflectivity()

double rl_ReflectionCoefPOD::reflectivity ( double  polarization_factor = 0.0) const
inline

evaluate the reflectivity.

Parameters
polarization_factorpolarization factor; it must be a value between -1 and 1. The polarization factor is related to parallel (p) and perpendicular (s) polarization by:

\[ \mathtt{polarization\_factor} = {(I_\perp - I_\parallel) \over (I_\perp + I_\parallel)} \]

or

\[ \mathtt{polarization\_factor} = {(I_\mathit{s} - I_\mathit{p}) \over (I_\mathit{s} + I_\mathit{p})} \]

where $I_\perp$ and $I_\parallel$ are the perpendicular and parallel E-field intensities, respectively. Thus,
  • -1: pure parallel (p) polarization.
  • 0: completely unpolarized.
  • +1: pure perpendicular (s) polarization.
Returns
const reference to layer layer_no

Definition at line 203 of file rl_ReflectionCoefPOD.h.


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