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

This class provides functionality to calculate the forces for optical tweezers. It is derived by the class Raytrace. More...

#include <raytrace.h>

Inheritance diagram for GOAT::raytracing::Raytrace_OT:
GOAT::raytracing::Raytrace GOAT::raytracing::Raytrace

Public Member Functions

 Raytrace_OT ()
 Raytrace_OT ()
 Raytrace_OT (Scene S)
 Raytrace_OT (Scene S)
void setScene (const Scene &S)
void setScene (const Scene &S)
void trace ()
void trace ()
void traceEnterObject ()
 force calculation, when the ray enters an object
void traceEnterObject ()
 force calculation, when the ray enters an object
void traceLeaveObject ()
 force calculation, when the ray leaves an object
void traceLeaveObject ()
 force calculation, when the ray leaves an object
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

maths::Vector< double > * F
 list of the forces acting on the objects
maths::Vector< double > ** f
 list of the forces acting on the objects, separated for the different light sources
maths::Vector< double > * L
 angular momenta acting on the objects
maths::Vector< double > ** l
 list of the angular momenta acting on the objects, separated for the different light sources
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

This class provides functionality to calculate the forces for optical tweezers. It is derived by the class Raytrace.

Definition at line 135 of file raytrace.h.

Constructor & Destructor Documentation

◆ Raytrace_OT() [1/4]

GOAT::raytracing::Raytrace_OT::Raytrace_OT ( )

◆ Raytrace_OT() [2/4]

GOAT::raytracing::Raytrace_OT::Raytrace_OT ( Scene S)

◆ Raytrace_OT() [3/4]

GOAT::raytracing::Raytrace_OT::Raytrace_OT ( )

◆ Raytrace_OT() [4/4]

GOAT::raytracing::Raytrace_OT::Raytrace_OT ( Scene S)

Member Function Documentation

◆ setScene() [1/2]

void GOAT::raytracing::Raytrace_OT::setScene ( const Scene & S)

◆ setScene() [2/2]

void GOAT::raytracing::Raytrace_OT::setScene ( const Scene & S)

◆ trace() [1/2]

void GOAT::raytracing::Raytrace_OT::trace ( )

◆ trace() [2/2]

void GOAT::raytracing::Raytrace_OT::trace ( )

◆ traceEnterObject() [1/2]

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

force calculation, when the ray enters an object

Implements GOAT::raytracing::Raytrace.

◆ traceEnterObject() [2/2]

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

force calculation, when the ray enters an object

Implements GOAT::raytracing::Raytrace.

◆ traceLeaveObject() [1/2]

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

force calculation, when the ray leaves an object

Implements GOAT::raytracing::Raytrace.

◆ traceLeaveObject() [2/2]

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

force calculation, when the ray leaves an object

Implements GOAT::raytracing::Raytrace.

Member Data Documentation

◆ F

maths::Vector< double > * GOAT::raytracing::Raytrace_OT::F

list of the forces acting on the objects

Definition at line 144 of file raytrace.h.

◆ f

maths::Vector< double > ** GOAT::raytracing::Raytrace_OT::f

list of the forces acting on the objects, separated for the different light sources

Definition at line 146 of file raytrace.h.

◆ L

maths::Vector< double > * GOAT::raytracing::Raytrace_OT::L

angular momenta acting on the objects

Definition at line 145 of file raytrace.h.

◆ l

maths::Vector< double > ** GOAT::raytracing::Raytrace_OT::l

list of the angular momenta acting on the objects, separated for the different light sources

Definition at line 147 of file raytrace.h.


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