|
GOAT (Geometrical optics application tool) 0.1
|
This class performs ray tracing in preparation for a later calculation of short pulses This class performs ray tracing and stores the length and the refractive index as an index of each step into a SuperArray class named SA. This information is necessary for the calculation of the short pulses. More...
#include <raytrace_usp.h>
Public Member Functions | |
| void | clear () |
| Clears the SuperArray grid (SA) | |
| void | init () |
| Initialises the SuperArray grid (SA) according to the objects hold in Scene S. | |
| Raytrace_usp () | |
| Raytrace_usp (const Scene &S, INDEX_TYPE n) | |
| Constructor. | |
| void | setn (INDEX_TYPE n) |
| changes the number of (virtual) cells in the calculation space | |
| void | storeData () |
| Store the data in the grid. | |
| void | trace () |
| Perform the raytracing process. | |
| void | traceEnterObject () |
| Function internally called when ray enters an object. | |
| void | traceLeaveObject () |
| Function internally called when ray leaves an object. | |
| Public Member Functions inherited from GOAT::raytracing::Raytrace | |
| void | init () |
| this function is called if no object was hidden | |
| void | init () |
| this function is called if no object was hidden | |
| Raytrace () | |
| Raytrace () | |
| Raytrace (const Scene &S) | |
| Raytrace (const Scene &S) | |
| void | setNumReflex (int numReflex) |
| sets number of reflexions | |
| void | setNumReflex (int numReflex) |
| sets number of reflexions | |
| void | setScene (const Scene &S) |
| sets Scene | |
| void | setScene (const Scene &S) |
| sets Scene | |
| void | trace () |
| this is the starting point for the raytracing procedure | |
| void | trace () |
| this is the starting point for the raytracing procedure | |
| virtual void | traceStopObject () |
| virtual void | traceStopObject () |
| virtual void | traceOneRay (RayBase *ray, int &Reflexions, int &recur) |
| traces one ray | |
| virtual void | reset () |
| void | copyRay (RayBase *&dest, RayBase *src) |
| virtual void | traceOneRay (RayBase *ray, int &Reflexions, int &recur) |
| traces one ray | |
| virtual void | reset () |
| void | copyRay (RayBase *&dest, RayBase *src) |
Public Attributes | |
| int | iR = 0 |
| Number of reflections to consider. | |
| INDEX_TYPE | n = 1 |
| Number of cells in one direction. | |
| std::vector< SuperArray< std::vector< gridEntry > > > | SA |
| Grid, that holds the information, needed to further calculate the electric field for short pulses The vector holds the arrays for the different reflection orders (each reflection order is stored in a separate array) In each element of the SuperArray, the steps to this point are stored (step length, index of the material) | |
| gridEntry | stack |
| here, the information from the light source until the region of interest (=box) is reached | |
| Public Attributes inherited from GOAT::raytracing::Raytrace | |
| GOAT::maths::Vector< INDEX_TYPE > | currentIndex = GOAT::maths::Vector<INDEX_TYPE>(-1, -1, -1) |
| int | currentLS |
| Number of the current light source, which is currently in the calculation process. | |
| int | currentObj |
| Number of the last object hit (no object hit: -1) | |
| maths::Vector< std::complex< double > > | EStart |
| maths::Vector< std::complex< double > > | EStart2 |
| maths::Vector< std::complex< double > > | EStop |
| Start and end value of the electric field. | |
| maths::Vector< std::complex< double > > | EStop2 |
| Start and end value of the electric field (second ray in IRay) | |
| int | lost |
| Rays unintentionally get lost, e.g. due to total internal reflection. | |
| maths::Vector< double > | PStart |
| maths::Vector< double > | PStop |
| Start and end point of the last step. | |
| maths::Vector< double > | kin |
| direction of the incident ray | |
| maths::Vector< double > | kref |
| direction of the reflected ray | |
| maths::Vector< double > | ktrans |
| direction of the transmitted ray | |
| double | PowRef |
| Powers stored when ray type is PRay. | |
| double | PowIn |
| Power of the incident ray. | |
| double | PowTrans |
| Power of the transmitted ray. | |
| Scene | S |
| Description of the scene. | |
| bool | useRRTParms |
| Flag which tells the raytracing procedure if the RRT parameters of scene or the normal parameters are used within the calculation. | |
| int | type =RAYTRACER_TYPE_NONE |
| Flag which shows which type of raytracer is selected. | |
| RayBase * | ray |
| current ray | |
| RayBase * | tray |
| transmitted ray | |
| bool | Abbruch |
| flag to stop calculation | |
| int | numReflex = RAYTRACE_MAX_REFLEXIONS |
| current number of reflections | |
This class performs ray tracing in preparation for a later calculation of short pulses This class performs ray tracing and stores the length and the refractive index as an index of each step into a SuperArray class named SA. This information is necessary for the calculation of the short pulses.
Definition at line 17 of file raytrace_usp.h.
| GOAT::raytracing::Raytrace_usp::Raytrace_usp | ( | ) |
| GOAT::raytracing::Raytrace_usp::Raytrace_usp | ( | const Scene & | S, |
| INDEX_TYPE | n ) |
Constructor.
| S | Scene which holds all information about the scene (light sources, objects...) |
| n | Number of grid elements per coordinate across the entire width (i.e. 2*r0) used in the SuperArray SA |
| void GOAT::raytracing::Raytrace_usp::clear | ( | ) |
Clears the SuperArray grid (SA)
| void GOAT::raytracing::Raytrace_usp::init | ( | ) |
Initialises the SuperArray grid (SA) according to the objects hold in Scene S.
| void GOAT::raytracing::Raytrace_usp::setn | ( | INDEX_TYPE | n | ) |
changes the number of (virtual) cells in the calculation space
| void GOAT::raytracing::Raytrace_usp::storeData | ( | ) |
Store the data in the grid.
| void GOAT::raytracing::Raytrace_usp::trace | ( | ) |
Perform the raytracing process.
|
virtual |
Function internally called when ray enters an object.
Implements GOAT::raytracing::Raytrace.
|
virtual |
Function internally called when ray leaves an object.
Implements GOAT::raytracing::Raytrace.
| int GOAT::raytracing::Raytrace_usp::iR = 0 |
Number of reflections to consider.
Definition at line 42 of file raytrace_usp.h.
| INDEX_TYPE GOAT::raytracing::Raytrace_usp::n = 1 |
Number of cells in one direction.
Definition at line 41 of file raytrace_usp.h.
| std::vector<SuperArray <std::vector<gridEntry> > > GOAT::raytracing::Raytrace_usp::SA |
Grid, that holds the information, needed to further calculate the electric field for short pulses The vector holds the arrays for the different reflection orders (each reflection order is stored in a separate array) In each element of the SuperArray, the steps to this point are stored (step length, index of the material)
Definition at line 40 of file raytrace_usp.h.
| gridEntry GOAT::raytracing::Raytrace_usp::stack |
here, the information from the light source until the region of interest (=box) is reached
Definition at line 43 of file raytrace_usp.h.