#include <optic.h>
Inheritance diagram for Arroyo::one_to_many_optic:

Public Member Functions | |
| one_to_many_optic () | |
| virtual | ~one_to_many_optic () |
| virtual long | number_of_outputs () const =0 |
| virtual vector< diffractive_wavefront< float > > | transform (const diffractive_wavefront< float > &wf) const =0 |
| virtual vector< diffractive_wavefront< double > > | transform (const diffractive_wavefront< double > &wf) const =0 |
Protected Member Functions | |
| template<class T> | |
| const T *const | get_wavefront_data (const diffractive_wavefront< T > &wf) const |
| template<class T> | |
| bool | real_imag_storage (const diffractive_wavefront< T > &wf) const |
| template<class T> | |
| bool | interleaved_storage (const diffractive_wavefront< T > &wf) const |
|
|
Null constructor |
|
|
Virtual destructor |
|
||||||||||
|
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 vector<diffractive_wavefront<T> > one_to_many_optic::transform(const diffractive_wavefront<T> &) It is intended that the above member function leave the diffractive_wavefront data unchanged, instead constructing diffractive_wavefronts corresponding to the multiple outputs of this optic. To help enforce this, this member function returns a const pointer to a const. You shouldn't need to cast away this constness to implement the behavior described above |
|
||||||||||
|
return storage method - interleaved or non-interleaved This member function is used in the optic inheritance hierarchy to implement the virtual member function vector<diffractive_wavefront<T> > one_to_many_optic::transform(const diffractive_wavefront<T>) |
|
|
Virtual member function to report the number of wavefronts returned by optic::transform |
|
||||||||||
|
return storage method - real-imag or amp-phase This member function is used in the optic inheritance hierarchy to implement the virtual member function vector<diffractive_wavefront<T> > one_to_many_optic::transform(const diffractive_wavefront<T>) |
|
|
Virtual member function to apply this optic to a diffractive_wavefront<double> |
|
|
Virtual member function to apply this optic to a diffractive_wavefront<double> |
1.3.9.1