38 std::vector<SuperArray <std::vector<gridEntry> > >
SA;
Template class for threedimensional vectors.
class which represents a box (cuboid). It is derived by class ObjectShape This class is mainly used f...
Abstract base class for all rays used for the raytracing process. This abstract base class for all ra...
INDEX_TYPE n
Number of cells in one direction.
int indexCurrentDetector
index of the current box detector (for internal use only)
gridEntry stack
here, the information from the light source until the region of interest (=box) is reached
void trace()
make the raytracing
int iR
Number of reflections to consider.
void traceOneRay(RayBase *ray, int &Reflexions, int &recur)
traces one ray
maths::Vector< double > pDetStop
void clean()
removes all content from SuperArray grid (SA)
std::vector< SuperArray< std::vector< gridEntry > > > SA
Here, the information for the steps is stored (needed for Fourier transform in pulsecalculation_field...
int findBoxDetectorIntersection(maths::Vector< double > P, maths::Vector< double > k, maths::Vector< double > &pStart, maths::Vector< double > &pStop)
searches for the intersection point with the next box detector
void init()
Initialises the SuperArray grid.
void storeStack(maths::Vector< double > PStart, maths::Vector< double > PStop)
maths::Vector< double > pDetStart
void clear()
Clears the SuperArray grid (SA)
Raytrace_Field_usp(const Scene &S, INDEX_TYPE n)
void addBoxDetectorList(std::vector< Box * > BoxDetector)
add a list of box detectors
void traceLeaveObject()
has to be added since this class is a child of Raytrace (makes nothing)
void addBoxDetector(Box *box)
add one box detector
void traceEnterObject()
has to be added since this class is a child of Raytrace (makes nothing)
std::vector< Box * > BoxDetector
list of the box detectors
void storeData(maths::Vector< double > PStart, maths::Vector< double > Pen, maths::Vector< std::complex< double > > EStart)
maths::Vector< double > PStart
Scene S
Description of the scene.
maths::Vector< double > PStop
Start and end point of the last step.
maths::Vector< std::complex< double > > EStart
Class defining a scene with lightsources and objects. This is a container used to inform the Raytrace...
Raytracer used for ultrashort pulse calculation with raytracing only.
This class is used for the iray class. This class is intended for internal use only....
Structure which holds all steps from the light source to the grid point In this structure every step ...