GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
raytrace_usp_rt.h
Go to the documentation of this file.
1#pragma once
2#include "raytrace.h"
3#include "superarray.h"
4
5namespace GOAT
6{
10 namespace raytracing
11 {
13 public Raytrace
14 {
15 public :
19 void clear();
20 void init();
21 void trace(double omega, std::complex<double> weight);
22 void storeData();
23 void setRefractiveIndexFunctions(std::vector<std::function<std::complex<double>(double) > > nList);
26
27 std::vector<SuperArray <maths::Vector<std::complex<double> > > > SA;
29 double omega, k0;
30 std::complex<double> weight;
31 std::vector<std::function<std::complex<double>(double) > > nList;
32 int iR = 0;
33
34
35 };
36 }
37}
int iR
Number of reflections to consider.
std::vector< std::function< std::complex< double >(double) > > nList
void init()
Initialises the SuperArray grid (SA) according to the objects hold in Scene S.
std::vector< SuperArray< maths::Vector< std::complex< double > > > > SA
Raytrace_usp_rt(const Scene &S, INDEX_TYPE n)
void trace(double omega, std::complex< double > weight)
Perform the raytracing process.
void traceEnterObject()
Function internally called when ray enters an object.
void clear()
Clears the SuperArray grid (SA)
void traceLeaveObject()
Function internally called when ray leaves an object.
void setRefractiveIndexFunctions(std::vector< std::function< std::complex< double >(double) > > nList)
sets the list of functions, which describe the wavelength dependend refractive
Scene S
Description of the scene.
Definition raytrace.h:116
Class defining a scene with lightsources and objects. This is a container used to inform the Raytrace...
Definition raytrace.h:28
Raytracer used for ultrashort pulse calculation with raytracing only.
Definition asphericLens.h:6
long long int INDEX_TYPE
Definition superarray.h:16
This class is used for the iray class. This class is intended for internal use only....
Definition fresnel.h:7