Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Arroyo::one_to_one_optic Class Reference

#include <optic.h>

Inheritance diagram for Arroyo::one_to_one_optic:

Arroyo::optic Arroyo::AO_sim_base Arroyo::aperture Arroyo::conic_mirror_base Arroyo::deformable_mirror_base Arroyo::lenslet_array_base Arroyo::refractive_atmospheric_layer< T > Arroyo::tip_tilt_mirror_base Arroyo::annular_aperture Arroyo::circular_aperture Arroyo::hexagonal_aperture Arroyo::rectangular_aperture Arroyo::tiled_hexagonal_aperture Arroyo::conic_mirror< aperture_type > Arroyo::ideal_deformable_mirror< aperture_type > Arroyo::square_lenslet_array Arroyo::ideal_tip_tilt_mirror< aperture_type > List of all members.

Public Member Functions

 one_to_one_optic ()
virtual ~one_to_one_optic ()
virtual void transform (diffractive_wavefront< float > &wf) const =0
virtual void transform (diffractive_wavefront< double > &wf) const =0

Protected Member Functions

template<class T>
T * get_wavefront_data (diffractive_wavefront< T > &wf) const
template<class T>
bool is_real_imag_storage (const diffractive_wavefront< T > &wf) const
template<class T>
bool is_interleaved_storage (const diffractive_wavefront< T > &wf) const
template<class T>
void wavefont_real_imag_conversion (diffractive_wavefront< T > &wf) const
template<class T>
void wavefront_amp_phase_conversion (diffractive_wavefront< T > &wf) const

Detailed Description

A virtual base class for an optic that maps one wavefront to another.


Constructor & Destructor Documentation

Arroyo::one_to_one_optic::one_to_one_optic  )  [inline]
 

Null constructor

virtual Arroyo::one_to_one_optic::~one_to_one_optic  )  [inline, virtual]
 

Virtual destructor


Member Function Documentation

template<class T>
T* Arroyo::one_to_one_optic::get_wavefront_data diffractive_wavefront< T > &  wf  )  const [inline, protected]
 

Return pointer to the raw wavefront data array.

This member function is used in the one_to_one_optic inheritance hierarchy to implement the virtual member function

void optic::one_to_one_transform(diffractive_wavefront<T> &)

It is intended that this member function modify the wavefront data directly to apply the optical transformation.

template<class T>
bool Arroyo::one_to_one_optic::is_interleaved_storage const diffractive_wavefront< T > &  wf  )  const [inline, protected]
 

return storage method - interleaved or non-interleaved

This member function is used in the optic inheritance hierarchy to implement the virtual member function void one_to_one_optic::transform(diffractive_wavefront<T>)

template<class T>
bool Arroyo::one_to_one_optic::is_real_imag_storage const diffractive_wavefront< T > &  wf  )  const [inline, protected]
 

return storage method - real-imag or amp-phase

This member function is used in the optic inheritance hierarchy to implement the virtual member function void one_to_one_optic::transform(diffractive_wavefront<T>)

virtual void Arroyo::one_to_one_optic::transform diffractive_wavefront< double > &  wf  )  const [pure virtual]
 

Virtual member function to apply this optic to a diffractive_wavefront<double>

Implemented in Arroyo::circular_aperture, Arroyo::annular_aperture, Arroyo::rectangular_aperture, Arroyo::spidered_annular_aperture, Arroyo::hexagonal_aperture, Arroyo::tiled_hexagonal_aperture, Arroyo::conic_mirror< aperture_type >, Arroyo::ideal_deformable_mirror< aperture_type >, Arroyo::square_lenslet_array, Arroyo::refractive_atmospheric_layer< T >, and Arroyo::ideal_tip_tilt_mirror< aperture_type >.

virtual void Arroyo::one_to_one_optic::transform diffractive_wavefront< float > &  wf  )  const [pure virtual]
 

Virtual member function to apply this optic to a diffractive_wavefront<float>

Implemented in Arroyo::circular_aperture, Arroyo::annular_aperture, Arroyo::rectangular_aperture, Arroyo::spidered_annular_aperture, Arroyo::hexagonal_aperture, Arroyo::tiled_hexagonal_aperture, Arroyo::conic_mirror< aperture_type >, Arroyo::ideal_deformable_mirror< aperture_type >, Arroyo::square_lenslet_array, Arroyo::refractive_atmospheric_layer< T >, and Arroyo::ideal_tip_tilt_mirror< aperture_type >.

template<class T>
void Arroyo::one_to_one_optic::wavefont_real_imag_conversion diffractive_wavefront< T > &  wf  )  const [inline, protected]
 

Convert wavefront to real/imag storage. This conversion is idempotent.

template<class T>
void Arroyo::one_to_one_optic::wavefront_amp_phase_conversion diffractive_wavefront< T > &  wf  )  const [inline, protected]
 

Convert wavefront to amp/phase storage. This conversion is idempotent.


The documentation for this class was generated from the following file:
Generated on Thu Nov 29 17:16:35 2007 for arroyo by  doxygen 1.3.9.1