|
Open PaperOpt
|
#include <StructureObject.h>


Public Member Functions | |
| StructureObject () | |
| StructureObject (StructureObject *) | |
| virtual | ~StructureObject () |
| int | PropInLayer (WavePacket &wp, double &t_vector_init, bool &rBoundary) |
| virtual int | Process (WavePacket &wp, int up_down, int internal) const =0 |
| void | mSetTypeObj (int typobj) |
| int | mGetType_obj () const |
| virtual complex_LC | mGetRefrIndex (int nbr) const |
| const StructureObject * | mGetPrevious () const |
| const StructureObject * | mGetNext () const |
| void | DeleteList (void) |
Public Attributes | |
| const StructureObject * | m_previous |
| const StructureObject * | m_next |
Protected Attributes | |
| vector< complex_LC > | mpRefrIndex |
| float | mXMin |
| float | mXMax |
| float | mYMin |
| float | mYMax |
| long | mIterationLimit |
| int | mTypeObj |
Friends | |
| class | Basesheet |
General class from which layers and surfaces are derived. The wave packet is passed from StructureObject (PO) to PO until it has left the last PO or has been absorbed. The class contains some general methods used by all child classes (e.g. PropInLayer (Periodic boundary conditions).
| StructureObject::StructureObject | ( | ) |
| StructureObject::StructureObject | ( | StructureObject * | el | ) |
TODO: DESCRICPTION HERE
| StructureObject |
| StructureObject::~StructureObject | ( | ) | [virtual] |

| void StructureObject::DeleteList | ( | void | ) |
| const StructureObject* StructureObject::mGetNext | ( | ) | const [inline] |

| const StructureObject* StructureObject::mGetPrevious | ( | ) | const [inline] |
Fetch the previous (above) PaperOject in the simulated structure. Used to access parameters of the next layers (such as refractive index)

| virtual complex_LC StructureObject::mGetRefrIndex | ( | int | nbr | ) | const [inline, virtual] |
Fetch the effective refractive index of a layer
| nbr | wavelength # of the simulated wave packet |
Reimplemented in Basesheet2, Basesheet, and HomogeneousLayer.

| int StructureObject::mGetType_obj | ( | ) | const [inline] |
Return the type of StructureObject Used for differenting BASESHEET_S

| void StructureObject::mSetTypeObj | ( | int | typobj | ) | [inline] |
Set the type of StructureObject
| typobj | integer representing the type of StructureObject SURFACE=1, BASESHEET=2, BASESHEET_S =3, BASESHEETSTATIC=4 |

| virtual int StructureObject::Process | ( | WavePacket & | wp, |
| int | up_down, | ||
| int | internal | ||
| ) | const [pure virtual] |
Process the wp within the object overwritten by child objects
Implemented in thinFilm, TableLookUpLayer, Basesheet2, PerfectDiffuser, SurfaceTN, SurfaceTopography, Basesheet, Surface, HomogeneousLayer, SurfaceTNInk, p3d::Staticsheet, and p3d::StaticVolume.

| int StructureObject::PropInLayer | ( | WavePacket & | wp, |
| double & | t_vector_init, | ||
| bool & | rBoundary | ||
| ) |
Check for intercepts with the side boundaries of the layer and check whether wave packet is within lateral limits of homogenouse layer
| wp | Wave Packet's object to calculate ditance of interception and call many fuctions of wave packet. |
| t_vector_init | Returns the travelled distance by wave packet |
| rBoundary | Reprsents the status of boundry whether hit or not |

friend class Basesheet [friend] |
Pointer to the previous (above) or next (below) PaperOject in the simulated structure. Used to access parameters of the next layers (such as refractive index)
long StructureObject::mIterationLimit [protected] |
Maximum scattering event within a StructureObject
vector<complex_LC> StructureObject::mpRefrIndex [protected] |
Effective refractive index of a layer Fix wavelength dependent number Not applicable to Surface
int StructureObject::mTypeObj [protected] |
Type of StructureObject
| typobj | integer representing the type of StructureObject SURFACE=1, BASESHEET=2, BASESHEET_S =3, BASESHEETSTATIC=4 |
float StructureObject::mXMax [protected] |
float StructureObject::mXMin [protected] |
Dimension of the object (micrometer)
float StructureObject::mYMax [protected] |
float StructureObject::mYMin [protected] |