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...
virtual void storeData(maths::Vector< double > PStart, maths::Vector< double > Pen, maths::Vector< std::complex< double > > EStart)
void setResolution(double res)
set the resolution (which will be used for all detectors)
maths::Vector< double > pDet
int findBoxDetectorIntersection(maths::Vector< double > P, maths::Vector< double > k, maths::Vector< double > &pout)
void trace()
Start the raytracing process.
std::vector< Box * > BoxDetector
void traceEnterObject()
this function is called when the ray enters an object
int iR
Number of reflections to consider.
void traceOneRay(RayBase *ray, int &Reflexions, int &recur)
traces one ray
void traceLeaveObject()
this function is called when the ray leaves an object
SuperArray< maths::Vector< std::complex< double > > > SE
virtual void init()
do some initialisation (e.g. clear the superarray)
INDEX_TYPE numCellsPerDirection
void addBoxDetector(Box *box)
add a box as detector
maths::Vector< double > PStart
Scene S
Description of the scene.
maths::Vector< std::complex< double > > EStart
Class defining a scene with lightsources and objects. This is a container used to inform the Raytrace...
Template class to store arbitrary information in a 3D-grid This template class provides a virtual 3D-...
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....