55 shortPulse(std::vector<wavelengthRange> WvlRanges,
Scene S, std::vector<std::function<std::complex<double>(
double) > >
nList);
63 std::vector<std::function<std::complex<double>(
double) > >
nList;
67 std::vector<unsigned int>
bitLT;
Template class for threedimensional vectors.
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-...
Scene S
the scene - it contains all information about the light sources, objects etc.
std::vector< wavelengthRange > wvlRanges
Here, the wavelength ranges for the calculation are stored.
int numWvlRanges
number of different wavelength ranges
std::vector< rayListEntry > rayList
List of all ray steps.
void startRaytracing()
performs raytracing process
void setPulseWidth(int i, double pulseWidth)
set pulse width of the i-th light source
std::vector< unsigned int > bitLT
bit reverse lookup table, used for FFT
std::vector< double > LSwidth
pulse widths of the light sources
shortPulse(std::vector< wavelengthRange > WvlRanges, Scene S, std::vector< std::function< std::complex< double >(double) > > nList)
Constructor.
SuperArray< maths::Vector< std::complex< double > > > field
std::vector< std::function< std::complex< double >(double) > > nList
List of the refractive index function for each object.
Raytracer used for ultrashort pulse calculation with raytracing only.
constexpr int log2n
2^log2n support points for FFT
constexpr double standard_pulse_width
standard pulse width in seconds
This class is used for the iray class. This class is intended for internal use only....
int refIndex
index within the refractive index list (for further details refer to the description of class shortPu...
GOAT::maths::Vector< std::complex< double > > E
electric field