|
GOAT (Geometrical optics application tool) 0.1
|
Abstract base class for all rays used for the raytracing process. This abstract base class for all rays is the parent class, from which all ray classes are derived. More...
#include <raybase.h>
Public Member Functions | |
| virtual maths::Vector< std::complex< double > > | getE ()=0 |
| gives back electric field strength | |
| virtual maths::Vector< double > | getk ()=0 |
| gives back direction Vector | |
| virtual maths::Vector< double > | getP ()=0 |
| gives back position | |
| virtual bool | isInObject ()=0 |
| true if ray is in an object otherwise false | |
| virtual bool | next ()=0 |
| make the next step (has to include phase progress) | |
| virtual int | objectIndex ()=0 |
| index of the current object or -1 | |
| virtual void | reflectRay (RayBase *&tray, maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2)=0 |
| reflects ray | |
Public Attributes | |
| bool | inObject =false |
| is in an object | |
| int | iR =0 |
| number of reflections already done | |
| double | k0 =2.0*M_PI |
| wave number | |
| std::complex< double > | n |
| std::complex< double > | n0 |
| current refractive index and refractive index of the host material | |
| int | numObj =0 |
| number of objects | |
| std::vector< ObjectShape * > | Obj |
| list of all objects | |
| int | objIndex =0 |
| index of the current object | |
| double | r0 =1.0 |
| double | rc =1.0 |
| radius of the calculation sphere | |
| int | status = RAYBASE_STATUS_NONE |
| bool | suppress_phase_progress =false |
| suppress phase change in next(), needed for short pulse consideration | |
| RayBase * | tray =0 |
| transmitted ray (used by the raytracer, for internal use only) | |
Abstract base class for all rays used for the raytracing process. This abstract base class for all rays is the parent class, from which all ray classes are derived.
|
pure virtual |
gives back electric field strength
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
gives back direction Vector
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
gives back position
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
true if ray is in an object otherwise false
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
make the next step (has to include phase progress)
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
index of the current object or -1
Implemented in GOAT::raytracing::IRay, and GOAT::raytracing::tubedRay.
|
pure virtual |
reflects ray
Implemented in GOAT::raytracing::IRay, GOAT::raytracing::Ray_pow, and GOAT::raytracing::tubedRay.
| bool GOAT::raytracing::RayBase::inObject =false |
| int GOAT::raytracing::RayBase::iR =0 |
| std::complex<double> GOAT::raytracing::RayBase::n0 |
| std::vector<ObjectShape*> GOAT::raytracing::RayBase::Obj |
| int GOAT::raytracing::RayBase::objIndex =0 |
| double GOAT::raytracing::RayBase::rc =1.0 |
| int GOAT::raytracing::RayBase::status = RAYBASE_STATUS_NONE |
| bool GOAT::raytracing::RayBase::suppress_phase_progress =false |
| RayBase* GOAT::raytracing::RayBase::tray =0 |