GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
fresnel.h
Go to the documentation of this file.
1#ifndef FRESNEL_H
2#define FRESNEL_H
3#include <complex>
4
5#include "vector.h"
6namespace GOAT
7{
8 namespace maths
9 {
10#ifndef SENKRECHT
11#define SENKRECHT 1
12#define PERPENDICULAR 1
13#endif
14
15#ifndef PARALLEL
16#define PARALLEL 0
17#endif
18
19 double abs(std::complex<double> x);
20 double sqr(double x);
21
31 std::complex<double> Fresnel_trans(int pol, Vector<double> k, Vector<double> n, std::complex<double> n1, std::complex<double> n2);
41 std::complex<double> Fresnel_reflect(int pol, Vector<double> k, Vector<double> n, std::complex<double> n1, std::complex<double> n2);
50 std::complex<double> freflect(int pol, double alpha, std::complex<double> n1, std::complex<double> n2);
59 std::complex<double> ftrans(int pol, double alpha, std::complex<double> n1, std::complex<double> n2);
60 }
61}
62#endif
Template class for threedimensional vectors.
Definition vector.h:57
double abs(std::complex< double > x)
absolute value of the complex valued variable x
std::complex< double > Fresnel_reflect(int pol, Vector< double > k, Vector< double > n, std::complex< double > n1, std::complex< double > n2)
Calculates the Fresnel coefficient for reflection This function calculates the amplitude Fresnel coef...
double sqr(double x)
square of x
std::complex< double > freflect(int pol, double alpha, std::complex< double > n1, std::complex< double > n2)
Calculates the Fresnel coefficient for reflection This function calculates the amplitude Fresnel coef...
std::complex< double > Fresnel_trans(int pol, Vector< double > k, Vector< double > n, std::complex< double > n1, std::complex< double > n2)
Calculates the Fresnel coefficient for transmission This function calculates the amplitude Fresnel co...
std::complex< double > ftrans(int pol, double alpha, std::complex< double > n1, std::complex< double > n2)
Calculates the Fresnel coefficient for transmission This function calculates the amplitude Fresnel co...
This class is used for the iray class. This class is intended for internal use only....
Definition fresnel.h:7
This file contains the Vector template class and some useful functions around this class.