GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
xmltoken.h File Reference
#include <array>
#include <string>
#include "lightsrc.h"

Go to the source code of this file.

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::XML

Macros

#define numCalculationToken   6
#define numDetectorToken   1
#define numLightSourceToken   12
#define numObjectToken   8
#define numRefractiveIndexToken   6
#define TOKEN_CALCULATION_FIELD   205
#define TOKEN_CALCULATION_INELASTIC   204
#define TOKEN_CALCULATION_PATH   201
#define TOKEN_CALCULATION_PULSE   202
#define TOKEN_CALCULATION_PULSE_FIELD   203
#define TOKEN_CALCULATION_PURE   200
#define TOKEN_DETECTOR_PLANE   150
#define TOKEN_LIGHTSOURCE_GAUSSIAN   1
#define TOKEN_LIGHTSOURCE_GAUSSIAN_MC   5
#define TOKEN_LIGHTSOURCE_GAUSSIAN_RING_MC   7
#define TOKEN_LIGHTSOURCE_LINE   8
#define TOKEN_LIGHTSOURCE_LINE_MC   9
#define TOKEN_LIGHTSOURCE_PLANE   0
#define TOKEN_LIGHTSOURCE_PLANE_MC   4
#define TOKEN_LIGHTSOURCE_POINT   10
#define TOKEN_LIGHTSOURCE_POINT_MC   11
#define TOKEN_LIGHTSOURCE_RING   2
#define TOKEN_LIGHTSOURCE_RING_MC   6
#define TOKEN_LIGHTSOURCE_TOPHAT   3
#define TOKEN_NOT_FOUND   -1
#define TOKEN_OBJECT_ASPHERIC_LENS   103
#define TOKEN_OBJECT_BOX   105
#define TOKEN_OBJECT_CONE   102
#define TOKEN_OBJECT_CYLINDER   106
#define TOKEN_OBJECT_ELLIPSOID   100
#define TOKEN_OBJECT_SPHERIC_LENS   104
#define TOKEN_OBJECT_SURFACE   101
#define TOKEN_OBJECT_VORTEX_PLATE   107
#define TOKEN_REFRACTIVE_INDEX_AIR   300
#define TOKEN_REFRACTIVE_INDEX_BK7   302
#define TOKEN_REFRACTIVE_INDEX_GLASS   301
#define TOKEN_REFRACTIVE_INDEX_LASF55   303
#define TOKEN_REFRACTIVE_INDEX_PMMA   305
#define TOKEN_REFRACTIVE_INDEX_VACUUM   304

Functions

bool GOAT::XML::addFunction2IndexList (std::vector< std::function< std::complex< double >(double) > > &nList, int refIndexToken)
int GOAT::XML::mapString2CalculationToken (std::string str)
int GOAT::XML::mapString2DetectorToken (std::string str)
int GOAT::XML::mapString2LightSourceToken (std::string str)
int GOAT::XML::mapString2ObjectToken (std::string str)
int GOAT::XML::mapString2RefractiveIndexToken (std::string str)
std::string GOAT::XML::str_tolower (std::string s)
 converts all letters in s into lower case (taken from https://en.cppreference.com/w/cpp/string/byte/tolower)

Variables

const std::vector< std::string > GOAT::XML::calculationToken = { "pure","path","pulse","pulse_field","inelastic","field"}
const std::vector< std::string > GOAT::XML::detectorToken = {"plane"}
const std::vector< std::string > GOAT::XML::lightSourceToken = { "plane","gaussian","ring","tophat","plane_mc","gaussian_mc","ring_mc","gaussian_ring_mc","line","line_mc","point","point_mc"}
const std::vector< std::string > GOAT::XML::objectToken = { "ellipsoid","surface","cone","aspheric_lens","spheric_lens","box","cylinder","vortex_plate"}
const std::vector< std::string > GOAT::XML::refractiveIndexToken = { "air","glass","bk7","lasf55","vacuum","pmma" }

Macro Definition Documentation

◆ numCalculationToken

#define numCalculationToken   6

Definition at line 13 of file xmltoken.h.

◆ numDetectorToken

#define numDetectorToken   1

Definition at line 12 of file xmltoken.h.

◆ numLightSourceToken

#define numLightSourceToken   12

Definition at line 10 of file xmltoken.h.

◆ numObjectToken

#define numObjectToken   8

Definition at line 11 of file xmltoken.h.

◆ numRefractiveIndexToken

#define numRefractiveIndexToken   6

Definition at line 14 of file xmltoken.h.

◆ TOKEN_CALCULATION_FIELD

#define TOKEN_CALCULATION_FIELD   205

Definition at line 47 of file xmltoken.h.

◆ TOKEN_CALCULATION_INELASTIC

#define TOKEN_CALCULATION_INELASTIC   204

Definition at line 46 of file xmltoken.h.

◆ TOKEN_CALCULATION_PATH

#define TOKEN_CALCULATION_PATH   201

Definition at line 43 of file xmltoken.h.

◆ TOKEN_CALCULATION_PULSE

#define TOKEN_CALCULATION_PULSE   202

Definition at line 44 of file xmltoken.h.

◆ TOKEN_CALCULATION_PULSE_FIELD

#define TOKEN_CALCULATION_PULSE_FIELD   203

Definition at line 45 of file xmltoken.h.

◆ TOKEN_CALCULATION_PURE

#define TOKEN_CALCULATION_PURE   200

Definition at line 42 of file xmltoken.h.

◆ TOKEN_DETECTOR_PLANE

#define TOKEN_DETECTOR_PLANE   150

Definition at line 40 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_GAUSSIAN

#define TOKEN_LIGHTSOURCE_GAUSSIAN   1

Definition at line 18 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_GAUSSIAN_MC

#define TOKEN_LIGHTSOURCE_GAUSSIAN_MC   5

Definition at line 22 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_GAUSSIAN_RING_MC

#define TOKEN_LIGHTSOURCE_GAUSSIAN_RING_MC   7

Definition at line 24 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_LINE

#define TOKEN_LIGHTSOURCE_LINE   8

Definition at line 25 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_LINE_MC

#define TOKEN_LIGHTSOURCE_LINE_MC   9

Definition at line 26 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_PLANE

#define TOKEN_LIGHTSOURCE_PLANE   0

Definition at line 17 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_PLANE_MC

#define TOKEN_LIGHTSOURCE_PLANE_MC   4

Definition at line 21 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_POINT

#define TOKEN_LIGHTSOURCE_POINT   10

Definition at line 27 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_POINT_MC

#define TOKEN_LIGHTSOURCE_POINT_MC   11

Definition at line 28 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_RING

#define TOKEN_LIGHTSOURCE_RING   2

Definition at line 19 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_RING_MC

#define TOKEN_LIGHTSOURCE_RING_MC   6

Definition at line 23 of file xmltoken.h.

◆ TOKEN_LIGHTSOURCE_TOPHAT

#define TOKEN_LIGHTSOURCE_TOPHAT   3

Definition at line 20 of file xmltoken.h.

◆ TOKEN_NOT_FOUND

#define TOKEN_NOT_FOUND   -1

Definition at line 16 of file xmltoken.h.

◆ TOKEN_OBJECT_ASPHERIC_LENS

#define TOKEN_OBJECT_ASPHERIC_LENS   103

Definition at line 34 of file xmltoken.h.

◆ TOKEN_OBJECT_BOX

#define TOKEN_OBJECT_BOX   105

Definition at line 36 of file xmltoken.h.

◆ TOKEN_OBJECT_CONE

#define TOKEN_OBJECT_CONE   102

Definition at line 33 of file xmltoken.h.

◆ TOKEN_OBJECT_CYLINDER

#define TOKEN_OBJECT_CYLINDER   106

Definition at line 37 of file xmltoken.h.

◆ TOKEN_OBJECT_ELLIPSOID

#define TOKEN_OBJECT_ELLIPSOID   100

Definition at line 31 of file xmltoken.h.

◆ TOKEN_OBJECT_SPHERIC_LENS

#define TOKEN_OBJECT_SPHERIC_LENS   104

Definition at line 35 of file xmltoken.h.

◆ TOKEN_OBJECT_SURFACE

#define TOKEN_OBJECT_SURFACE   101

Definition at line 32 of file xmltoken.h.

◆ TOKEN_OBJECT_VORTEX_PLATE

#define TOKEN_OBJECT_VORTEX_PLATE   107

Definition at line 38 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_AIR

#define TOKEN_REFRACTIVE_INDEX_AIR   300

Definition at line 49 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_BK7

#define TOKEN_REFRACTIVE_INDEX_BK7   302

Definition at line 51 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_GLASS

#define TOKEN_REFRACTIVE_INDEX_GLASS   301

Definition at line 50 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_LASF55

#define TOKEN_REFRACTIVE_INDEX_LASF55   303

Definition at line 52 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_PMMA

#define TOKEN_REFRACTIVE_INDEX_PMMA   305

Definition at line 54 of file xmltoken.h.

◆ TOKEN_REFRACTIVE_INDEX_VACUUM

#define TOKEN_REFRACTIVE_INDEX_VACUUM   304

Definition at line 53 of file xmltoken.h.