|
Open PaperOpt
|
#include <HomogeneousLayer.h>


Public Member Functions | |
| PerfectDiffuser () | |
| ~PerfectDiffuser () | |
| PerfectDiffuser (reflectanceParameters *rReflectance, StructureObject *prevStructureObject, std::vector< float > &rLambda) | |
| virtual int | Process (WavePacket &wp, int up_down, int internal) const |
Protected Attributes | |
| reflectanceParameters * | mReflectance |
This class represents a perfect diffuser Wave packets are returned isotropically Reflectance control the probability for reflectance, other are absorbed
| PerfectDiffuser::PerfectDiffuser | ( | ) |
| PerfectDiffuser::~PerfectDiffuser | ( | ) |
| PerfectDiffuser::PerfectDiffuser | ( | reflectanceParameters * | rReflectance, |
| StructureObject * | prevStructureObject, | ||
| std::vector< float > & | rLambda | ||
| ) |
Constructor
| rReflectance | reflectance from the layer |
| prevStructureObject | pointer to the previous paper object. |
| rLambda | the simulated wavelengths. |
Set object type so that no surface scattering at layer boundary is performed

| int PerfectDiffuser::Process | ( | WavePacket & | wp, |
| int | up_down, | ||
| int | internal | ||
| ) | const [virtual] |
Picks the wavelength of the wave packet and interpolate transmittance/reflectance for the incident angle onto the layer
| wp | the wave packet |
| up_down | 1 if wp going up, -1 if wp going down |
| internal | tells if the wave packet should start within layer or if layer boundary should be applied first. Always 1 for this layer |
Decide whether wp is reflected or not
Isotropic scattering, wp must be reflected
Implements StructureObject.

reflectanceParameters* PerfectDiffuser::mReflectance [protected] |