|
Public Member Functions |
| Field (unsigned int number, double side_length, double lambda, int fft_level=0, double sph_coords_factor=0.0) |
| Constructor.
|
| Field (const Info &that_info) |
| Constructor with Field::Info initialization.
|
| Field (const Field &that) |
| Copy constructor.
|
| ~Field () |
| Destructor.
|
std::ostream & | write (std::ostream &out=std::cout) |
std::complex< double > & | operator[] (const unsigned int i) |
const std::complex< double > & | operator[] (const unsigned int i) const |
Field & | operator= (const Field &that) |
| Copy operator.
|
template<class T> |
Field & | operator *= (const T &input) |
| Scaling operator.
|
Field & | operator+= (const Field &that) |
| Field addition operator (Field1 += Field2).
|
Field & | lens (const double &f, const double &x0, const double &y0) |
| Apply a lens.
|
Field & | t_lens (const double &R, const double &f, const double &x0, const double &y0) |
| Apply a toroidal lens.
|
Field & | axicon (const double &phi, const std::complex< double > &n1, const double &x0, const double &y0) |
| Apply an axicon lens.
|
Field & | fresnel (const double &z) |
Field & | forward (const double &z, const double &new_side_length, const int &new_number) |
| Note that this operates on the input field structure.
|
Field & | lens_forvard (double f, double z) |
Field & | lens_fresnel (const double &f, const double &z) |
Field & | forvard (const double &z) |
Field & | spherical_to_normal_coords () |
Field & | circular_aperture (const double &r, const double &x0, const double &y0) |
Field & | circular_screen (const double &r, const double &x0=0.0, const double &y0=0.0) |
Field & | rectangular_aperture (const double &Lx, const double &Ly=-0.1, const double &x0=0.0, const double &y0=0.0, const double &angle=0.0) |
Field & | rectangular_screen (const double &Lx, const double &Ly=-0.1, const double &x0=0.0, const double &y0=0.0, const double &angle=0.0) |
Field & | supergaussian_aperture (const double &w, const int &n, const double &x0=0.0, const double &y0=0.0, const double &A=1.0) |
Field & | supergaussian_screen (const double &w, const int &n, const double &x0=0.0, const double &y0=0.0, const double &A=1.0) |
Field & | gaussian_aperture (const double &w, const double &x0=0.0, const double &y0=0.0, const double &A=1.0) |
Field & | gaussian_screen (const double &w, const double &x0=0.0, const double &y0=0.0, const double &A=1.0) |
Field & | fft3 (int ind) |
Field & | tilt (double tx, double ty) |
Field & | zernike (int n, int m, double R, double A) |
std::ostream & | print_strehl (std::ostream &output) |
double | get_strehl () |
Field & | pip_fft (const int &) |
bool | compatible (const Field &that) const |
Field & | normalize (double *norm_coeff=NULL) |
Field & | l_amplify (const double &gain, const double &length, const double &i_sat) |
std::ostream & | print_field (std::ostream &output, int output_size=0, const double &gamma=2.0, const int &max_val=255, const bool ascii=false) |
Static Public Member Functions |
static Field * | read (std::istream &in=std::cin) throw (std::runtime_error) |
Public Attributes |
Info | info |
std::complex< double > * | val |
Classes |
class | Info |
| Defines character of Field such as wavelength of light, spatial size, spatial precision, etc. More...
|
The structure FIELD contains the characteristics of the light beam: number of points along the side of a square grid, wavelength and side length of the square grid, then two huge arrays of Re and Im data