GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
lens.h
Go to the documentation of this file.
1#include "vector.h"
2#include "matrix.h"
3
4#pragma once
5#include <vector>
6namespace GOAT
7{
8 namespace raytracing
9 {
16 typedef struct lensa
17 {
23 double R;
24 double shift = 0;
27
28
34 typedef struct
35 {
37 double offset;
38 double radius;
39 } lensParms;
40
41
42 void binWrite(lensSide ls, std::ofstream& os);
43 void binWrite(lensParms lp, std::ofstream& os);
44 void binRead(lensSide ls, std::ifstream& is);
45 void binRead(lensParms lp, std::ifstream& is);
46 }
47}
Template class for threedimensional vectors.
Definition vector.h:57
This file contains the definition of a template for 3x3 matrices, which can be used together with the...
Raytracer used for ultrashort pulse calculation with raytracing only.
Definition asphericLens.h:6
struct GOAT::raytracing::lensa lensSide
Structure to describe one side of an spheric lens For this type of lens one side can either be spheri...
void binRead(lensSide ls, std::ifstream &is)
read a lensSide structure from a binary file
void binWrite(lensSide ls, std::ofstream &os)
write a lensSide structure in a binary file
Curvature int2Curvature(int index)
converts integer value to Curvature enum
This class is used for the iray class. This class is intended for internal use only....
Definition fresnel.h:7
Structure, which holds the full information about the spheric lens The side surfaces of the lens are ...
Definition lens.h:35
double offset
distance between the surfaces
Definition lens.h:37
lensSide right
descriptions of the left (towards negative-z) and the right side of the lens
Definition lens.h:36
double radius
radius of the lens
Definition lens.h:38
Structure to describe one side of an spheric lens For this type of lens one side can either be spheri...
Definition lens.h:17
double R
Radius of the sphere, which describes the surface (not considered, if curvature is set to flat)
Definition lens.h:23
Curvature curvature
Curvature (convex, concave or flat)
Definition lens.h:25
double shift
how much must the curve be shifted (with consideration of the offset)
Definition lens.h:24
maths::Vector< double > P
center of the sphere, which describes the corresponding surface of the lens Vector from the position ...
Definition lens.h:22
This file contains the Vector template class and some useful functions around this class.