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

Arroyo::refractive_atmospheric_layer< T > Class Template Reference

#include <refractive_atmospheric_layer.h>

Inheritance diagram for Arroyo::refractive_atmospheric_layer< T >:

Arroyo::plane_optic Arroyo::one_to_one_optic Arroyo::pixel_array< T > Arroyo::optic Arroyo::three_frame Arroyo::optic Arroyo::AO_sim_base Arroyo::three_point Arroyo::AO_sim_base List of all members.

Public Member Functions

 refractive_atmospheric_layer ()
 refractive_atmospheric_layer (const refractive_atmospheric_layer< T > &ref_atm_layer)
 refractive_atmospheric_layer (const refractive_atmospheric_layer< T > &ref_atm_layer, const rectangular_region &subregion)
 refractive_atmospheric_layer (const char *filename)
 refractive_atmospheric_layer (const iofits &iof)
 refractive_atmospheric_layer (const pixel_array< T > &pixarr, double pixel_scale)
 refractive_atmospheric_layer (const power_spectrum *pspectrum, const subharmonic_method &subm, const vector< long > &axes, double pixscale)
 refractive_atmospheric_layer (const refractive_atmospheric_layer< T > &ref_atm_layer, vector< three_point > &corners)
 ~refractive_atmospheric_layer ()
refractive_atmospheric_layer<
T > & 
operator= (const refractive_atmospheric_layer< T > &ref_atm_layer)
void read (const char *filename)
void read (const iofits &iof)
void write (const char *filename) const
void write (iofits &iof) const
void print (ostream &os, const char *prefix="") const
rectangular_region get_covering_region (const three_frame &tf) const
virtual void transform (diffractive_wavefront< float > &wf) const
virtual void transform (diffractive_wavefront< double > &wf) const
void rotate_by_fft (double angle, bool window=true)
double get_pixel_scale () const
void set_pixel_scale (double pscale)
vector< long > get_axes () const
void set_axes (const vector< long > &in_axes)
three_vector get_wind_vector () const
void set_wind_vector (const three_vector &wvec)

Protected Member Functions

template<class U>
void private_transform (diffractive_wavefront< U > &wf) const
template<class U>
void aligned_private_transform (diffractive_wavefront< U > &wf) const

Protected Attributes

double pixel_scale
 The pixel scale in meters.
three_vector wind_vector

Detailed Description

template<class T>
class Arroyo::refractive_atmospheric_layer< T >

A class to represent a refractive atmospheric layer


Constructor & Destructor Documentation

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer  ) 
 

Null constructor

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const refractive_atmospheric_layer< T > &  ref_atm_layer  ) 
 

Copy constructor

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const refractive_atmospheric_layer< T > &  ref_atm_layer,
const rectangular_region subregion
 

Construct from a subregion of another refractive atmospheric layer

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const char *  filename  ) 
 

Construct from file

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const iofits iof  ) 
 

Construct from iofits object

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const pixel_array< T > &  pixarr,
double  pixel_scale
 

Construct from the bits

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const power_spectrum pspectrum,
const subharmonic_method subm,
const vector< long > &  axes,
double  pixscale
 

Construct from a power spectrum and a subharmonic method

template<class T>
Arroyo::refractive_atmospheric_layer< T >::refractive_atmospheric_layer const refractive_atmospheric_layer< T > &  ref_atm_layer,
vector< three_point > &  corners
 

Construct a refractive_atmospheric_layer of smaller size from the argument The corners argument must be a vector containing 4 three_points, which form a rectangular region contained by ref_atm_layer

template<class T>
Arroyo::refractive_atmospheric_layer< T >::~refractive_atmospheric_layer  )  [inline]
 

Destructor


Member Function Documentation

template<class T>
template<class U>
void Arroyo::refractive_atmospheric_layer< T >::aligned_private_transform diffractive_wavefront< U > &  wf  )  const [protected]
 

A template member function to perform an aligned transform on both float and double instantiations of wavefront. This function throws an error if the transverse axes of the wavefront projected onto the transverse plane of the layer are not aligned with the transverse axes of the layer. This condition is met only if either the x or the y basis vectors of each frame are identical, or both are identical.

template<class T>
vector<long> Arroyo::refractive_atmospheric_layer< T >::get_axes void   )  const [inline]
 

Get the axes

Reimplemented from Arroyo::pixel_array< T >.

template<class T>
rectangular_region Arroyo::refractive_atmospheric_layer< T >::get_covering_region const three_frame tf  )  const [virtual]
 

Get a rectangular region guaranteed to cover the layer. The resulting region will have its edges aligned with the x and y axes of the three_frame tf.

If foreshortening is on, the projected region is guaranteed to cover the optic

If the z axis of the three_frame is orthogonal to the z axis of the layer, this function throws an error

Implements Arroyo::optic.

template<class T>
double Arroyo::refractive_atmospheric_layer< T >::get_pixel_scale  )  const [inline]
 

Get the pixel scale

template<class T>
three_vector Arroyo::refractive_atmospheric_layer< T >::get_wind_vector  )  const [inline]
 

Get the wind vector

template<class T>
refractive_atmospheric_layer< T > & Arroyo::refractive_atmospheric_layer< T >::operator= const refractive_atmospheric_layer< T > &  ref_atm_layer  ) 
 

Operator=

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::print ostream &  os,
const char *  prefix = ""
const [virtual]
 

Print

Reimplemented from Arroyo::plane_optic.

template<class T>
template<class U>
void Arroyo::refractive_atmospheric_layer< T >::private_transform diffractive_wavefront< U > &  wf  )  const [protected]
 

A template member function to perform transform on both float and double instantiations of wavefront. This is necessary because there is no mechanism in C++ for virtual template member functions.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::read const iofits iof  )  [virtual]
 

Read from iofits object

Reimplemented from Arroyo::plane_optic.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::read const char *  filename  ) 
 

Read from file

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::rotate_by_fft double  angle,
bool  window = true
 

Rotate layer by an angle - in radians

Reimplemented from Arroyo::pixel_array< T >.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::set_axes const vector< long > &  in_axes  ) 
 

Set the axes - this destroys and reallocates the underlying pixel array if in_axes != this->axes

Reimplemented from Arroyo::pixel_array< T >.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::set_pixel_scale double  pscale  )  [inline]
 

Set the pixel scale

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::set_wind_vector const three_vector wvec  )  [inline]
 

Set the wind vector.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::transform diffractive_wavefront< double > &  wf  )  const [virtual]
 

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::transform diffractive_wavefront< float > &  wf  )  const [virtual]
 

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::write iofits iof  )  const [virtual]
 

Write to iofits object

Reimplemented from Arroyo::plane_optic.

template<class T>
void Arroyo::refractive_atmospheric_layer< T >::write const char *  filename  )  const
 

Write to file


Member Data Documentation

template<class T>
double Arroyo::refractive_atmospheric_layer< T >::pixel_scale [protected]
 

The pixel scale in meters.

template<class T>
three_vector Arroyo::refractive_atmospheric_layer< T >::wind_vector [protected]
 

A vector in the direction of the layer's motion Through the constructor this vector is always coaligned with one of the axes of the optical_path_differences array


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