GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
misc.h
Go to the documentation of this file.
1
2/***************************************************************************
3 misc.h - description
4 -------------------
5 begin : Mit Mär 12 2003
6 copyright : (C) 2003 by Thomas Weigel
7 email : weigel@lat.ruhr-uni-bochum.de
8 ***************************************************************************/
9
10#include "surface.h"
11#include "ellipsoid.h"
12#include "vector.h"
13#include "tubedray.h"
14#include "box.h"
15#include "cone.h"
16#include "constants.h"
17#include "cylinder.h"
18#include "vortex.h"
19
20#ifndef MISC_H
21#define MISC_H
22namespace GOAT
23{
24 namespace raytracing
25 {
26
27
28
30 void setR0(ObjectShape* E, double r0);
31 void copyFormList(std::vector<ObjectShape*>& d, std::vector<ObjectShape*> s, int anz);
32 void binWriteIncList(std::ofstream& os, std::vector<ObjectShape*> E, int anz);
33 void binWriteInc(std::ofstream& os, ObjectShape* E);
34 void binReadIncList(std::ifstream& is, std::vector<ObjectShape*>& E, int anz);
35 void binReadInc(std::ifstream& is, ObjectShape*& E, bool isNew);
39 double gaussw(double z, double wvl, double w0);
40 std::complex<double> gaussphase(maths::Vector<double> P, maths::Vector<double> F, maths::Vector<double> k, double w0, double k0);
41 double NA2w0(double lambda, double NA, std::complex<double> n);
42 float readLE_float32(std::istream& is);
43 int readLE_int32(std::istream& is);
44 }
45}
46#endif
Template class for threedimensional vectors.
Definition vector.h:57
Abstract base class for all volume objects This abstract class provides a template for all volume obj...
Definition objectshape.h:60
This class represents a ray with a finite cross section. class tubedRay: This class represents a ray ...
Definition tubedray.h:88
Raytracer used for ultrashort pulse calculation with raytracing only.
Definition asphericLens.h:6
void initInc(ObjectShape *E)
void copyFormList(std::vector< ObjectShape * > &d, std::vector< ObjectShape * > s, int anz)
std::complex< double > gaussphase(maths::Vector< double > P, maths::Vector< double > F, maths::Vector< double > k, double w0, double k0)
maths::Vector< double > force(maths::Vector< double > norm, tubedRay Se, tubedRay Sr, tubedRay St, double df)
void copyInc(ObjectShape *&d, ObjectShape *s)
double gaussw(double z, double wvl, double w0)
void binWriteInc(std::ofstream &os, ObjectShape *E)
void binWriteIncList(std::ofstream &os, std::vector< ObjectShape * > E, int anz)
int readLE_int32(std::istream &is)
float readLE_float32(std::istream &is)
void binReadIncList(std::ifstream &is, std::vector< ObjectShape * > &E, int anz)
void binReadInc(std::ifstream &is, ObjectShape *&E, bool isNew)
double NA2w0(double lambda, double NA, std::complex< double > n)
void deleteInc(ObjectShape *E)
void setR0(ObjectShape *E, double r0)
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.