GOAT (Geometrical optics application tool) 0.1
Loading...
Searching...
No Matches
superarray.h File Reference
#include <stdlib.h>
#include <fstream>
#include "vector.h"
#include "resutil.h"
#include "objectshape.h"
#include "error.h"
#include <vector>
#include "gridentry.h"

Go to the source code of this file.

Classes

class  GOAT::raytracing::SuperArray< T >
 Template class to store arbitrary information in a 3D-grid This template class provides a virtual 3D-grid of arbitrary values which can be used to store e.g. the electric field in a volume. It circumscribes a sphere with radius r0 and virtual means here, that only the parts which are needed were allocated, but for the programmer it seems like a whole array or grid. By adding an object to the grid, the memory for the grid around the object (circumscribed box) is allocated, so one can store the electric field inside the object. The cells of the grid can be addressed with help of the bracket()-operator with different arguments. 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.

Typedefs

typedef long long int GOAT::raytracing::INDEX_TYPE

Functions

std::ostream & GOAT::raytracing::operator<< (std::ostream &os, const SuperArray< std::vector< gridEntry > > &S)
template<class T>
std::ostream & GOAT::raytracing::operator<< (std::ostream &os, const SuperArray< T > &S)
bool GOAT::raytracing::saveabsE (SuperArray< maths::Vector< std::complex< double > > > &S, std::string FName, int i=0)
 save the square of the absolute value of the z-component of the electric field Save the square of the absolute value of the z-component of the electric field, i.e. \( \sum_i E_i \cdot conj(E_i) \) the i-th object of the SuperArray
bool GOAT::raytracing::saveabsEbin (SuperArray< maths::Vector< std::complex< double > > > &S, std::string FName, int i=0)
bool GOAT::raytracing::saveExPhase (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)
 save the phase of the x-component of the electric field Save the phase of the x-component of the electric field, i.e. atan of the ratio imaginary part/real part, inside the i-th object of the SuperArray
bool GOAT::raytracing::saveExPol (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)
bool GOAT::raytracing::saveEyPhase (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)
 save the phase of the y-component of the electric field Save the phase of the y-component of the electric field, i.e. atan of the ratio imaginary part/real part, inside the i-th object of the SuperArray
bool GOAT::raytracing::saveEyPol (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)
bool GOAT::raytracing::saveEzPhase (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)
 save the phase of the z-component of the electric field Save the phase of the z-component of the electric field, i.e. atan of the ratio imaginary part/real part, inside the i-th object of the SuperArray
bool GOAT::raytracing::saveEzPol (SuperArray< maths::Vector< std::complex< double > > > &S, char *FName, int i=0)

Variables

template<class T>
GOAT::raytracing::dummy