30 std::complex<double>
n,
68 void setPos(
double x,
double y,
double z);
This class represents a threedimensional (numeric) Matrix as a template.
Template class for threedimensional vectors.
maths::Vector< double > v
Vector from the tip cone to the reference point Pos.
void setPos(maths::Vector< double > r)
sets reference point P
void setr0(double r0)
defines the radius of the calculation sphere
double getHeight()
Returns the height of the cone.
double radius
radius of the base area
double tan2CA
square of the tangens of the cone angle
double nextCone(const maths::Vector< double > &p, const maths::Vector< double > &k, maths::Vector< double > &pout)
Calculates the next crossing point with the lateral surface of the cone. The method calculates the ne...
double getConeAngle()
Returns the cone angle.
double cosCA
cosine of the cone angle
void setRadius(double radius)
Set the radius of the cone.
maths::Vector< double > norm(const maths::Vector< double > &P)
surface normal at the point P
void setConeAngle(double coneAngle)
Set the cone angle.
void init()
Initialisation of all internal variables.
maths::Vector< double > calcCoM()
calculates center of mass (needed by setCenter2CoM () )
void binWrite(std::ofstream &os)
binary writing to file
void setPos(double x, double y, double z)
sets reference point P
double getRadius()
Returns the radius of the cone.
maths::Vector< double > V
Position of the tip of the cone.
Cone(maths::Vector< double > Pos, double radius, double height, std::complex< double > n, double r0=1.0, const maths::Matrix< std::complex< double > > alpha=maths::CUNITY, const maths::Vector< double > &Ex=maths::ex, const maths::Vector< double > &Ey=maths::ey, const maths::Vector< double > &Ez=maths::ez)
Constructor which defines the cone by the reference point, radius and height.
double volume()
returns the volume of the object
bool next(const maths::Vector< double > &p, const maths::Vector< double > &k, maths::Vector< double > &pout)
Calculates next crossing point with ray. This method calculates the next crossing point with the enti...
void initQuad()
calculates the circumferent cuboid (needed e.g. for the inelastic scattering calculations)
void binRead(std::ifstream &os)
binary reading from file
maths::Vector< double > normv
normalized Vector from the tip cone to the reference point Pos
double sideLen
length of the side of the cone
bool isInside(const maths::Vector< double > &p)
checks if point P is inside the object
double height
height of the cone
double coneAngle
cone angle
void setHeight(double height)
Set the height of the cone.
double sf
scaling factor, it is used to scale the shape of the object
maths::Matrix< std::complex< double > > alpha
polarisability matrix
maths::Vector< double > P
position of the object
double r0
radius of the calculation sphere
std::complex< double > n
refractive index of the object
const Matrix< std::complex< double > > CUNITY
Unity matrix (complex-valued)
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....