30 std::complex<double>
n0,
double r0,
double k0,
31 const int numObjs, std::vector<ObjectShape*> Einschluss);
This class represents a threedimensional (numeric) Matrix as a template.
Template class for threedimensional vectors.
void refract(maths::Matrix< std::complex< double > > FT, maths::Vector< double > N, std::complex< double > n1, std::complex< double > n2)
double Pow
Power held by the ray in Watts.
friend std::ostream & operator<<(std::ostream &os, Ray_pow S)
output operator
Ray_pow reflect(maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2)
Ray_pow(double pow, const maths::Vector< double > &p, const maths::Vector< std::complex< double > > &Pol, const maths::Vector< double > &K, std::complex< double > n0, double r0, double k0, const int numObjs, std::vector< ObjectShape * > Einschluss)
void reflectRay(RayBase *&tray, maths::Vector< double > n, std::complex< double > n1, std::complex< double > n2)
Ray_pow(const Ray_pow &r)
Copy constructor.
Abstract base class for all rays used for the raytracing process. This abstract base class for all ra...
std::complex< double > n0
current refractive index and refractive index of the host material
RayBase * tray
transmitted ray (used by the raytracer, for internal use only)
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....