Template class for threedimensional vectors.
This abstract class is the basic class for all light sources used in this raytracing library....
SuperArray< GOAT::maths::Vector< std::complex< double > > > * GetFieldArray()
SuperArray< maths::Vector< std::complex< double > > > * SGE
Here, the exciting field is stored.
Raytrace_Inel(const Scene &S)
Constructor for the inelastic scattering raytracer.
SuperArray< maths::Vector< std::complex< double > > > * SGRRT1
void resetCalculation()
forces the calculation of the excited field when calling trace(RRTParms D)
void traceEnterObject()
Function internally called when ray enters an object.
void exportExcitation(std::string fname, int savetype=INEL_EXPORT_EXCITATION_FIELD_ABS)
Export excitation field to (ASCII-) file This function exports excitation field inside the objects....
double inel2
result of the inelastic scattering for the two given polarisations
void unsetExcitationFieldOnly()
sets calculation phase in the way, that also the inelastic calculation will be done
std::complex< double > gewichte(maths::Vector< std::complex< double > > E, maths::Vector< std::complex< double > > p)
void traceLeaveObject()
Function internally called when ray leaves an object.
void setExcitationFieldOnly()
Sets calculation phase so, that for the next call of trace(RRTParms D), only the excitation field is ...
void trace(RRTParms D)
Calculates inelastic scattering.
void sceneChanged(const Scene &S)
Change Scene to S Changes the Scene to S and changes the calculation phase so that the calculation st...
void setScene(const Scene &S)
SuperArray< maths::Vector< std::complex< double > > > * SGRRT2
Scene S
Description of the scene.
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.
RRTParms calcDetDirParms(double theta, double phi, double wvlinel)
Calculates the parameters for the detector with help of the spherical coordinates theta and phi This ...
constexpr int INEL_SAVE_ABSE
constexpr int INEL_RADIATION_TYPE_RAMAN
constexpr int INEL_MAX_NREFLEX
constexpr int INEL_CALCPHASE_EXCITATION_ONLY
constexpr int INEL_RADIATION_INCOHERENT
constexpr int INEL_CALCPHASE_EXCITATION
constexpr int INEL_EXPORT_EXCITATION_FIELD_VECTOR
constexpr int INEL_RADIATION_COHERENT
constexpr int INEL_EXPORT_EXCITATION_FIELD_ABS
constexpr int INEL_RADIATION_TYPE_FLOURESCENCE
constexpr int INEL_CALCPHASE_RRT
This class is used for the iray class. This class is intended for internal use only....
int radiationType
Type of inelastic scattering: INEL_RADIATION_TYPE_FLOURESCENCE for flourescence, i....
maths::Vector< double > P
reference point of the detector
int coherency
Scattering is coherent INEL_RADIATION_COHERENT or incoherent INEL_RADIATION_INCOHERENT.
maths::Vector< double > e1
maths::Vector< double > n
direction of detection (backwards), by default set to n=P/|P|, but can be changed
maths::Vector< double > e2
considered direction of polarisation, e1 is by default the projection of the z-axis onto a plane perp...
double wvlinel
Wavelength of the inelastic scattering.