|
Open PaperOpt
|
#include <Component.h>


Public Member Functions | |
| void | SetFluorescent (Fluorescence *pFluor) |
| virtual | ~Component (void) |
| virtual int | Process (WavePacket &wp) const =0 |
| virtual int | Process (WavePacket &wp, int ComponentNumber, bool EntryScattering=false, complex_LC *pPrevRefrIndex=0) const =0 |
Public Attributes | |
| Fluorescence * | mpFluorescence |
Protected Types | |
| enum | Occurrence { NOTHING, SCATTERING, ABSORPTION } |
Protected Member Functions | |
| Component () | |
| Component (const StructureObject *const pStructureObject, vector< complex_LC > *pRefrIndex, vector< double > *pQScat, vector< double > *pQAbs, vector< double > *pQAbsFluo, Distributions::Distribution *pDistScat, double ContactReduction, V2< float > *pRoughness) | |
| Occurrence | CheckFreePath (const V3< double > &rPrevPos, V3< double > &rCurPos, int NbrLambda, double *pT) const |
| int | ScatterEnvelope (V3< double > &rDirection, V3< double > &rPolarization, double Lambda, complex_LC N1, complex_LC N2, const V3< double > &rNormal) const |
| void | ScatterDirection (V3< double > &rDir, V3< double > &rPol, int NbrLambda=0) const |
| virtual int | WhatWillHappenNext (double Depth, int ComponentNumber) const |
Protected Attributes | |
| const StructureObject * | mpStructureObject |
| vector< complex_LC > * | mpRefrIndex |
| V2< float > * | mRoughness |
| vector< double > * | mpQScat |
| vector< double > * | mpQAbs |
| vector< double > * | mpQAbsFluo |
| vector< double > | mpQExt |
| Distributions::Distribution * | mpDistScat |
| double | mContactReduction |
| long | mIterationLimit |
| bool | mAbsFluoOrNot |
Abstract class with common functions and parameters to all basesheet components (Fibers, pores and fillers).
enum Component::Occurrence [protected] |
| Component::Component | ( | ) | [protected] |
| Component::Component | ( | const StructureObject *const | pStructureObject, |
| vector< complex_LC > * | pRefrIndex, | ||
| vector< double > * | pQScat, | ||
| vector< double > * | pQAbs, | ||
| vector< double > * | pQAbsFluo, | ||
| Distributions::Distribution * | pDistScat, | ||
| double | ContactReduction, | ||
| V2< float > * | pRoughness | ||
| ) | [protected] |
Constructor.
| pBasesheet | Instance of basesheet in component to refer components of basesheer(filler,fiber,pore) |
| pDistComps | Represents component distribution in the thickness direction of the paper |
| rRefrIndex | Reftractive index to handle complex values of results |
| pQScat | Distribution scattering vector |
| pQAbs | Absorption coefficient |
| pQabsFluo | Absorption coefficient for fluorescing absorption |
| pDistScat | Scattering distribution. DistributionHenyeyGreenstein is common. |
| ContactReduction | Reduction of probablity for wave packet to travel from one component to another component |
| YMin | Y-coordinte to present minimum size of component |
| YMax | Y-coordinte to present maximum size of basesheet |
| pRoughness | Roughness vector root mean suare roughness of the paper over the small area |
| pEl | Instance of StructureObject class is used to appraoch next layer untill last one |
| Component::~Component | ( | void | ) | [virtual] |
Destructor.
| Component::Occurrence Component::CheckFreePath | ( | const V3< double > & | rPrevPos, |
| V3< double > & | rCurPos, | ||
| int | NbrLambda, | ||
| double * | pT | ||
| ) | const [protected] |
Free path check.
Check if the wavepacket has travelled further then the free path. In that case it updates cur_pos to the end of the free path.
| rPrevPos | Previous position. |
| rCurPos | Current position. |


| virtual int Component::Process | ( | WavePacket & | wp | ) | const [pure virtual] |
Calculate transmission/reflection
| wp | Wave Packet's object to calculate ditance of interception and call many fuctions of wave packet.. |
Implemented in Fiber, Filler, and HomogeneousScatteringMaterial.

| virtual int Component::Process | ( | WavePacket & | wp, |
| int | ComponentNumber, | ||
| bool | EntryScattering = false, |
||
| complex_LC * | pPrevRefrIndex = 0 |
||
| ) | const [pure virtual] |
Implemented in Fiber, Filler, and HomogeneousScatteringMaterial.
| void Component::ScatterDirection | ( | V3< double > & | rDir, |
| V3< double > & | rPol, | ||
| int | NbrLambda = 0 |
||
| ) | const [protected] |


| int Component::ScatterEnvelope | ( | V3< double > & | rDirection, |
| V3< double > & | rPolarization, | ||
| double | Lambda, | ||
| complex_LC | N1, | ||
| complex_LC | N2, | ||
| const V3< double > & | rNormal | ||
| ) | const [protected] |
Performs the refraction, reflection or scattering in the fiberwall
| rDirection | Wavepacket direction vector. |
| rPolarization | Wavepacket polarization vector. |
| Lambda | Wavelength. |
| N1 | Complex refraction index of incident medium. |
| N2 | Complex refraction index of refractive medium. |
| rNormal | Normal vector. |


| void Component::SetFluorescent | ( | Fluorescence * | pFluor | ) | [inline] |

| int Component::WhatWillHappenNext | ( | double | Depth, |
| int | ComponentNumber | ||
| ) | const [protected, virtual] |

bool Component::mAbsFluoOrNot [protected] |
Used for differenting different versions of fluorescence process implementation If 1, non fluorescing and fluorescing absorption coefficients are used. If 0, only one absorption coefficient is defined, and it is also used to start fluorescence according to the quantum yield fluorescence matrix
double Component::mContactReduction [protected] |
long Component::mIterationLimit [protected] |
Maximum scattering event within a StructureObject
Distributions::Distribution* Component::mpDistScat [protected] |
vector<double>* Component::mpQAbs [protected] |
vector<double>* Component::mpQAbsFluo [protected] |
vector<double> Component::mpQExt [protected] |
vector<double>* Component::mpQScat [protected] |
vector<complex_LC>* Component::mpRefrIndex [protected] |
const StructureObject* Component::mpStructureObject [protected] |
V2<float>* Component::mRoughness [protected] |