GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
lightsrc.h File Reference
#include "raybase.h"
#include "vector.h"
#include "tubedray.h"
#include "iray.h"
#include "objectshape.h"
#include "ray_pow.h"
#include <vector>

Go to the source code of this file.

Classes

class  GOAT::raytracing::LightSrc
 This abstract class is the basic class for all light sources used in this raytracing library. It provides all necessary interfaces. More...
class  GOAT::raytracing::LightSrcGauss
 This class describes a focused gaussian beam. More...
class  GOAT::raytracing::LightSrcLine
 This class provides a light source, which emitts along a straight line. More...
class  GOAT::raytracing::LightSrcPlane
 class derived from LightSrc. It represents a plane wave described by the electric field \( \vec{E}(\vec{P})=\vec{E}_0 \cdot e^{i\vec{k}\cdot\Delta\vec{P}} \) More...
class  GOAT::raytracing::LightSrcRing
 This class describes a ring shaped This class represents a ring shaped light source, defined by the inner radius rmin and the outer radius rmax. More...

Namespaces

namespace  GOAT
 This class is used for the iray class. This class is intended for internal use only. It defines a plane, defined by a central position and two directional vectors.
namespace  GOAT::raytracing
 Raytracer used for ultrashort pulse calculation with raytracing only.

Macros

#define LIGHTSRC_ERROR   -1
 Error occurs within the ray creation.
#define LIGHTSRC_IS_LAST_RAY   1
 Created ray is the last ray.
#define LIGHTSRC_NOT_LAST_RAY   0
 Created ray is not the last ray.
#define LIGHTSRC_POL_USER_DEFINED   0
 Light source is user defined.
#define LIGHTSRC_POL_X   0
 Light source is polarized in x-direction.
#define LIGHTSRC_POL_Y   1
 Light source is polarized in y-direction.
#define LIGHTSRC_POL_Z   2
 Light source is polarized in z-direction.
#define LIGHTSRC_RAYTYPE_IRAY   2
 Ray class : IRay.
#define LIGHTSRC_RAYTYPE_PRAY   3
 Ray class : Pow_Ray.
#define LIGHTSRC_RAYTYPE_RAY   1
 Ray class : tubedRay.
#define Z0   376.730313461
 Wave impedance of free space.

Functions

void GOAT::raytracing::binReadLSList (std::ifstream &is, int nLS, LightSrc **&ls)
 Reads list of light sources from a binary file and allocates the memory for the light source list.
void GOAT::raytracing::binWriteLSList (std::ofstream &os, int nLS, LightSrc **ls)
 Writes a list of light sources into a binary file.
void GOAT::raytracing::copyLightSrcList (LightSrc **&d, LightSrc **s, int nLS)
 Copy the given light source list.

Variables

constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_GAUSS =2
 Light source is a gaussian wave.
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_GAUSS_MC = 12
 Light source is a gaussian wave (random distribution)
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_LINE = 5
 Light source along a straight line.
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_LINE_MC = 14
 Light source along a straight line (random distribution)
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_PLANE =1
 Light source is a plane wave.
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_PLANE_MC = 11
 Light source is a plane wave (random distribution)
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_POINT = 6
 Point light source.
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_POINT_MC = 15
 Point light source (random distribution)
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_RING = 3
 Light source is a ring shaped wave.
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_RING_MC = 13
 Light source is a ring (random distribution)
constexpr int GOAT::raytracing::LIGHTSRC_SRCTYPE_TOPHAT =4
 Light source is a top hat.

Macro Definition Documentation

◆ LIGHTSRC_ERROR

#define LIGHTSRC_ERROR   -1

Error occurs within the ray creation.

Definition at line 36 of file lightsrc.h.

◆ LIGHTSRC_IS_LAST_RAY

#define LIGHTSRC_IS_LAST_RAY   1

Created ray is the last ray.

Definition at line 35 of file lightsrc.h.

◆ LIGHTSRC_NOT_LAST_RAY

#define LIGHTSRC_NOT_LAST_RAY   0

Created ray is not the last ray.

Definition at line 34 of file lightsrc.h.

◆ LIGHTSRC_POL_USER_DEFINED

#define LIGHTSRC_POL_USER_DEFINED   0

Light source is user defined.

Definition at line 42 of file lightsrc.h.

◆ LIGHTSRC_POL_X

#define LIGHTSRC_POL_X   0

Light source is polarized in x-direction.

Definition at line 39 of file lightsrc.h.

◆ LIGHTSRC_POL_Y

#define LIGHTSRC_POL_Y   1

Light source is polarized in y-direction.

Definition at line 40 of file lightsrc.h.

◆ LIGHTSRC_POL_Z

#define LIGHTSRC_POL_Z   2

Light source is polarized in z-direction.

Definition at line 41 of file lightsrc.h.

◆ LIGHTSRC_RAYTYPE_IRAY

#define LIGHTSRC_RAYTYPE_IRAY   2

Ray class : IRay.

Definition at line 17 of file lightsrc.h.

◆ LIGHTSRC_RAYTYPE_PRAY

#define LIGHTSRC_RAYTYPE_PRAY   3

Ray class : Pow_Ray.

Definition at line 18 of file lightsrc.h.

◆ LIGHTSRC_RAYTYPE_RAY

#define LIGHTSRC_RAYTYPE_RAY   1

Ray class : tubedRay.

Definition at line 16 of file lightsrc.h.

◆ Z0

#define Z0   376.730313461

Wave impedance of free space.

Definition at line 37 of file lightsrc.h.