GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
GOAT::raytracing::Raytrace_usp_rt Class Reference

#include <raytrace_usp_rt.h>

Inheritance diagram for GOAT::raytracing::Raytrace_usp_rt:
GOAT::raytracing::Raytrace

Public Member Functions

void clear ()
 Clears the SuperArray grid (SA)
void init ()
 Initialises the SuperArray grid (SA) according to the objects hold in Scene S.
 Raytrace_usp_rt ()
 Raytrace_usp_rt (const Scene &S, INDEX_TYPE n)
void setRefractiveIndexFunctions (std::vector< std::function< std::complex< double >(double) > > nList)
 sets the list of functions, which describe the wavelength dependend refractive
void storeData ()
void trace (double omega, std::complex< double > weight)
 Perform the raytracing process.
void traceEnterObject ()
 Function internally called when ray enters an object.
void traceLeaveObject ()
 Function internally called when ray leaves an object.
 ~Raytrace_usp_rt ()
Public Member Functions inherited from GOAT::raytracing::Raytrace
void init ()
 this function is called if no object was hidden
void init ()
 this function is called if no object was hidden
 Raytrace ()
 Raytrace ()
 Raytrace (const Scene &S)
 Raytrace (const Scene &S)
void setNumReflex (int numReflex)
 sets number of reflexions
void setNumReflex (int numReflex)
 sets number of reflexions
void setScene (const Scene &S)
 sets Scene
void setScene (const Scene &S)
 sets Scene
void trace ()
 this is the starting point for the raytracing procedure
void trace ()
 this is the starting point for the raytracing procedure
virtual void traceStopObject ()
virtual void traceStopObject ()
virtual void traceOneRay (RayBase *ray, int &Reflexions, int &recur)
 traces one ray
virtual void reset ()
void copyRay (RayBase *&dest, RayBase *src)
virtual void traceOneRay (RayBase *ray, int &Reflexions, int &recur)
 traces one ray
virtual void reset ()
void copyRay (RayBase *&dest, RayBase *src)

Public Attributes

int iR = 0
 Number of reflections to consider.
double k0
INDEX_TYPE n = 1
std::vector< std::function< std::complex< double >(double) > > nList
double omega
std::vector< SuperArray< maths::Vector< std::complex< double > > > > SA
std::complex< double > weight
Public Attributes inherited from GOAT::raytracing::Raytrace
GOAT::maths::Vector< INDEX_TYPEcurrentIndex = GOAT::maths::Vector<INDEX_TYPE>(-1, -1, -1)
int currentLS
 Number of the current light source, which is currently in the calculation process.
int currentObj
 Number of the last object hit (no object hit: -1)
maths::Vector< std::complex< double > > EStart
maths::Vector< std::complex< double > > EStart2
maths::Vector< std::complex< double > > EStop
 Start and end value of the electric field.
maths::Vector< std::complex< double > > EStop2
 Start and end value of the electric field (second ray in IRay)
int lost
 Rays unintentionally get lost, e.g. due to total internal reflection.
maths::Vector< double > PStart
maths::Vector< double > PStop
 Start and end point of the last step.
maths::Vector< double > kin
 direction of the incident ray
maths::Vector< double > kref
 direction of the reflected ray
maths::Vector< double > ktrans
 direction of the transmitted ray
double PowRef
 Powers stored when ray type is PRay.
double PowIn
 Power of the incident ray.
double PowTrans
 Power of the transmitted ray.
Scene S
 Description of the scene.
bool useRRTParms
 Flag which tells the raytracing procedure if the RRT parameters of scene or the normal parameters are used within the calculation.
int type =RAYTRACER_TYPE_NONE
 Flag which shows which type of raytracer is selected.
RayBaseray
 current ray
RayBasetray
 transmitted ray
bool Abbruch
 flag to stop calculation
int numReflex = RAYTRACE_MAX_REFLEXIONS
 current number of reflections

Detailed Description

Definition at line 12 of file raytrace_usp_rt.h.

Constructor & Destructor Documentation

◆ Raytrace_usp_rt() [1/2]

GOAT::raytracing::Raytrace_usp_rt::Raytrace_usp_rt ( )

◆ Raytrace_usp_rt() [2/2]

GOAT::raytracing::Raytrace_usp_rt::Raytrace_usp_rt ( const Scene & S,
INDEX_TYPE n )

◆ ~Raytrace_usp_rt()

GOAT::raytracing::Raytrace_usp_rt::~Raytrace_usp_rt ( )

Member Function Documentation

◆ clear()

void GOAT::raytracing::Raytrace_usp_rt::clear ( )

Clears the SuperArray grid (SA)

◆ init()

void GOAT::raytracing::Raytrace_usp_rt::init ( )

Initialises the SuperArray grid (SA) according to the objects hold in Scene S.

◆ setRefractiveIndexFunctions()

void GOAT::raytracing::Raytrace_usp_rt::setRefractiveIndexFunctions ( std::vector< std::function< std::complex< double >(double) > > nList)

sets the list of functions, which describe the wavelength dependend refractive

◆ storeData()

void GOAT::raytracing::Raytrace_usp_rt::storeData ( )

◆ trace()

void GOAT::raytracing::Raytrace_usp_rt::trace ( double omega,
std::complex< double > weight )

Perform the raytracing process.

◆ traceEnterObject()

void GOAT::raytracing::Raytrace_usp_rt::traceEnterObject ( )
virtual

Function internally called when ray enters an object.

Implements GOAT::raytracing::Raytrace.

◆ traceLeaveObject()

void GOAT::raytracing::Raytrace_usp_rt::traceLeaveObject ( )
virtual

Function internally called when ray leaves an object.

Implements GOAT::raytracing::Raytrace.

Member Data Documentation

◆ iR

int GOAT::raytracing::Raytrace_usp_rt::iR = 0

Number of reflections to consider.

Definition at line 32 of file raytrace_usp_rt.h.

◆ k0

double GOAT::raytracing::Raytrace_usp_rt::k0

Definition at line 29 of file raytrace_usp_rt.h.

◆ n

INDEX_TYPE GOAT::raytracing::Raytrace_usp_rt::n = 1

Definition at line 28 of file raytrace_usp_rt.h.

◆ nList

std::vector<std::function<std::complex<double>(double) > > GOAT::raytracing::Raytrace_usp_rt::nList

Definition at line 31 of file raytrace_usp_rt.h.

◆ omega

double GOAT::raytracing::Raytrace_usp_rt::omega

Definition at line 29 of file raytrace_usp_rt.h.

◆ SA

std::vector<SuperArray <maths::Vector<std::complex<double> > > > GOAT::raytracing::Raytrace_usp_rt::SA

Definition at line 27 of file raytrace_usp_rt.h.

◆ weight

std::complex<double> GOAT::raytracing::Raytrace_usp_rt::weight

Definition at line 30 of file raytrace_usp_rt.h.


The documentation for this class was generated from the following file: