|
| | Ray_pow () |
| | Ray_pow (const Ray_pow &r) |
| | Copy constructor.
|
| | Ray_pow (double pow, const maths::Vector< double > &p, const maths::Vector< std::complex< double > > &Pol, const maths::Vector< double > &K, std::complex< double > n0, double r0, double k0, const int numObjs, std::vector< ObjectShape * > Einschluss) |
| Ray_pow | reflect (maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2) |
| void | reflectRay (RayBase *&tray, maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2) |
| void | refract (maths::Matrix< std::complex< double > > FT, maths::Vector< double > N, std::complex< double > n1, std::complex< double > n2) |
| | ~Ray_pow (void) |
| bool | checkObjectIntersection (int &Index, maths::Vector< double > &Pmin) |
| double | cross (const maths::Vector< double > P10, const maths::Vector< double > P11, const maths::Vector< double > P20, const maths::Vector< double > P21) |
| maths::Vector< double > | crossPlane (const maths::Vector< double > Pe, const maths::Vector< double > n) |
| | calculates the intersection point between the ray and a plane, which is defined by the vector P and the normal n
|
| int | currentObjectIndex () |
| | returns the index of the hidden object or -1
|
| maths::Matrix< std::complex< double > > | Fresnel_reflect (double alpha, std::complex< double > n1, std::complex< double > n2) |
| | returns Fresnel matrix for the reflection calculation (alpha: angle of incidence, n1,n2 are the refractive indices)
|
| maths::Matrix< std::complex< double > > | Fresnel_trans (double alpha, std::complex< double > beta, std::complex< double > n1, std::complex< double > n2) |
| | returns Fresnel matrix for the transmission calculation (alpha: angle of incidence, n1,n2 are the refractive indices)
|
| maths::Vector< std::complex< double > > | getE () |
| | gives back electric field strength
|
| maths::Vector< double > | getk () |
| | Returns the direction of the ray.
|
| ObjectShape * | getObject (int i) |
| | Returns the i-th object (for internal use only)
|
| maths::Vector< double > | getP () |
| | Returns the current position of the ray.
|
| std::complex< double > | getRefract () |
| | Returns the current refractive index.
|
| void | initElectricField (const maths::Vector< std::complex< double > > &PolS, const maths::Vector< std::complex< double > > &PolP, const int AnzRays) |
| | initialises the electric field vectors with help of polarisation vectors PolS and PolP, numOfRays can be omitted
|
| void | initElectricField (const Plane &Eb, const maths::Vector< std::complex< double > > &Pol, const int numOfRays=1) |
| | initialises the electric field with help of the Plane Eb and the polarisation Pol, numOfRays can be omitted. (Here, only one polarisation is given, the other is skipped)
|
| void | initElectricField (const Plane &Eb, const maths::Vector< std::complex< double > > &Pol1, const maths::Vector< std::complex< double > > &Pol2, const int AnzRays) |
| void | initElectricFieldGauss (const Plane &Eb, const maths::Vector< std::complex< double > > &PolS, const maths::Vector< std::complex< double > > &PolP, Gauss g) |
| | Initialises the ray for gaussian beam with help of the plane Eb and the polarisation vectors PolS and PolP. The parameters for the gaussian beam are stored in g.
|
| void | initElectricFieldGauss (double sigma2, maths::Vector< double > focuspos, maths::Vector< std::complex< double > > Pol) |
| void | initElectricFieldGauss (maths::Vector< std::complex< double > > &Pol, Gauss g) |
| | Initialises the ray for gaussian beam with help of the plane Eb and the polarisation vector Pol (second polarisation is not used, E2 is set to E1). The parameters for the gaussian beam are stored in g.
|
| maths::Vector< double > | intersectRect (const maths::Vector< double > P, const maths::Vector< double > e1, const maths::Vector< double > e2) |
| | IRay () |
| | IRay (const IRay &r) |
| | IRay (const maths::Vector< double > &p, const maths::Vector< std::complex< double > > &Pol, const maths::Vector< double > &K, std::complex< double > n0, double r0, double k0, const int numObj=0, std::vector< ObjectShape * > obj=std::vector< ObjectShape * >()) |
| | Contructor.
|
| bool | isInObject () |
| | Returns true if ray is inside an object.
|
| bool | next () |
| | make the next step (has to include phase progress)
|
| int | objectIndex () |
| | Returns the index of the last hidden object (or -1 if no object was hidden)
|
| maths::Vector< std::complex< double > > | Pol1 () |
| | direction of the first polarisation
|
| maths::Vector< std::complex< double > > | Pol2 () |
| | direction of the second polarisation
|
| IRay | reflect (maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2) |
| | This function reflects ray on the surface. Here, the ray is reflected and the transmitted ray is created.
|
| int | reflections () |
| | Returns the number of reflections the beam has already passed through.
|
| void | refract (maths::Vector< double > N, std::complex< double > n1, std::complex< double > n2) |
| | This function refracts the ray on the surface.
|
| void | setiR (int i) |
| | Sets the current reflexion counter (for internal use only)
|
| void | setk (const maths::Vector< double > &K) |
| | Sets the direction of the ray.
|
| void | setP (const maths::Vector< double > &p) |
| | Current position of the ray.
|
| void | setRefract (std::complex< double > n) |
| | Sets the current refractive index.
|
| | ~IRay () |
This class provides a ray which carries a special power.
Definition at line 10 of file ray_pow.h.