GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
GOAT::raytracing::pulseCalculation_field Class Reference

#include <pulsecalculation.h>

Inheritance diagram for GOAT::raytracing::pulseCalculation_field:
GOAT::raytracing::pulseCalculation< Raytrace_field_usp >

Public Member Functions

void addBoxDetector (Box *box)
void field (double t)
 add a box as detector
 pulseCalculation_field (Scene &S)
Public Member Functions inherited from GOAT::raytracing::pulseCalculation< Raytrace_field_usp >
void calcTrafoParms ()
void field (double t)
 This function calculates the fields at time. Keep in mind, that it works only if the class has the list with the refractive index functions.
void fieldCalculation ()
 This function makes the raytracing (normally only used internally)
double findHitTime (int ObjNo)
 Make an estimation, when the pulse hits the object the first time Often it is a problem, to find the pulse in the time domain, especially for very short pulses. This function gives an estimation, by searchíng the first element of the array around the chosen object which was hit by a ray. Then, the time the light needs to travel from the light source until this point will be calculated.
int getNumberOfThreads ()
 get the number of threads used for the calculation
INDEX_TYPE getNumCellsPerDirection ()
double getReferenceTime ()
TrafoParms getTrafoParms ()
 pulseCalculation ()
void reset ()
 Clears all arrays.
void setBandwidth (double dWvl)
 Set Bandwith of the light source(s) Approximately,.
void setCenterWavelength (double wvl)
 Set center wavelength of the pulse.
void setDefaults ()
void setNumberOfThreads (int n)
 set the number of threads used for the calculation
void setNumReflex (int numReflex)
void setNumWavelengthsPerRange (int nS)
 Set number of wavelengths per range. For the calculation, the spectral range is subdivided into a number of wavelength ranges. This method set the number of wavelength steps per spectral range.
void setPulseWidth (double dt)
 Sets the spectral width according to the pulse width and adjusts the widht of the subdivisions.
void setReferenceTime (double tref)
void setRefractiveIndexFunctions (std::vector< std::function< std::complex< double >(double) > > nList)
 sets the list of functions, which describe the wavelength dependend refractive index (length must be number of objects + 1)
void setRepetitionRate (double rep)
 Set the repetition rate (in fs) The repetition rate is the frequency resolution within the calculation. This function sets trafoparms::nS to the next integer value. The used repetition rate used in the calculation is then given by bandwith df/(nI*nS)
void setSpatialResolution (double dx)
 sets the spatial resolution to a value near to dx
void setSpectralRanges (int n)
 Number of spectral ranges in which one raytracing calculation is made.

Additional Inherited Members

Public Attributes inherited from GOAT::raytracing::pulseCalculation< Raytrace_field_usp >
double domega
 spectral resolution
double dRWvl
 spectral width of one subdivision
double dWvl
 spectral width of the light (default 20nm)
INDEX_TYPE nn
 number of cells over the whole width of the calculation space (i.e. 2*r0).
int numReflex
bool raytracingDone
 If true, the raytracing part was done and the field calculation starts directly.
Raytrace_field_usp rt
Scene S
std::vector< SuperArray< std::vector< gridEntry > > > SA
 Here, all infos are stored to calculate the pulse (step lengths, index of the medium etc.)
SuperArray< GOAT::maths::Vector< std::complex< double > > > SAres
Trafo trafo
TrafoParms trafoparms
double tref

Detailed Description

Definition at line 99 of file pulsecalculation.h.

Constructor & Destructor Documentation

◆ pulseCalculation_field()

GOAT::raytracing::pulseCalculation_field::pulseCalculation_field ( Scene & S)
inline

Definition at line 102 of file pulsecalculation.h.

Member Function Documentation

◆ addBoxDetector()

void GOAT::raytracing::pulseCalculation_field::addBoxDetector ( Box * box)
inline

Definition at line 103 of file pulsecalculation.h.

◆ field()

void GOAT::raytracing::pulseCalculation_field::field ( double t)

add a box as detector

Definition at line 108 of file pulsecalculation.h.


The documentation for this class was generated from the following file: