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

Arroyo::wavefront_phase_estimate< precision, aperture_type > Class Template Reference

#include <wavefront_phase_estimate.h>

Inheritance diagram for Arroyo::wavefront_phase_estimate< precision, aperture_type >:

Arroyo::AO_sim_base List of all members.

Public Member Functions

 wavefront_phase_estimate ()
 wavefront_phase_estimate (const refractive_atmospheric_model &ref_atm_model, const aperture_type &ap_type)
 wavefront_phase_estimate (const vector< emitter * > &tip_tilt_guide_stars, const vector< double > &tip_tilt_weights, const vector< emitter * > &high_order_guide_stars, const vector< double > &high_order_weights, const refractive_atmospheric_model &ref_atm_model, const aperture_type &ap_type)
 ~wavefront_phase_estimate ()
 wavefront_phase_estimate (const wavefront_phase_estimate &wpe)
 wavefront_phase_estimate (const char *filename)
 wavefront_phase_estimate (const iofits &iof)
wavefront_phase_estimateoperator= (const wavefront_phase_estimate &wpe)
void read (const char *filename)
void read (const Arroyo::iofits &iof)
void write (const char *filename) const
void write (Arroyo::iofits &iof) const
void print (std::ostream &os, const char *prefix="") const
refractive_atmospheric_model get_refractive_atmospheric_model () const
double aperture_averaged_differential_phase_variance (const emitter &emtr, double wavelength_meters, int nsteps_in_integration) const
double aperture_averaged_differential_tilt_phase_variance (const emitter &emtr, double wavelength_meters, int nsteps_in_integration) const
double differential_phase_variance (const emitter &emtr, const three_point &tp, double wavelength_meters, int nsteps_in_integration) const
pixel_array< precision > differential_phase_variance (const emitter &emtr, double pixel_scale_meters, double wavelength_meters, int nsteps_in_integration) const
double differential_tilt_phase_variance (const emitter &emtr, const three_point &tp, double wavelength_meters, int nsteps_in_integration) const
pixel_array< precision > differential_tilt_phase_variance (const emitter &emtr, double pixel_scale_meters, double wavelength_meters, int nsteps_in_integration) const
double phase_structure_function (const emitter &emtr, double wavelength_meters, int nsteps_in_integration, const three_point &tp1, const three_point &tp2) const
pixel_array< precision > phase_structure_function (const emitter &emtr, double pixel_scale_meters, double wavelength_meters, int nsteps_in_integration, const three_point &tp) const
pixel_array< precision > phase_structure_function (const emitter &emtr, double pixel_scale_meters, double wavelength_meters, int nsteps_in_integration, int xindex, int yindex) const
basic_otf< precision > NGS_optical_transfer_function (const emitter &emtr, double wavelength_meters, int nsteps_in_integration, double pupil_plane_pixel_scale_meters, double cutoff=30) const
basic_otf< precision > optical_transfer_function (const emitter &emtr, double wavelength_meters, int nsteps_in_integration, double pupil_plane_pixel_scale_meters, double cutoff=30) const
basic_observation< precision > point_spread_function (const emitter &emtr, double wavelength_meters, int nsteps_in_integration, double pupil_plane_pixel_scale_meters, double field_size_arcsecs, double oversampling_factor, double cutoff=30) const
basic_observation< precision > NGS_point_spread_function (const emitter &emtr, double wavelength_meters, int nsteps_in_integration, double pupil_plane_pixel_scale_meters, double field_size_arcsecs, double oversampling_factor, double cutoff=30) const

Protected Member Functions

bool emitter_check (const emitter &emtr) const
void initialize_emitter (const emitter &emtr) const
double aperture_averaged_tilt_variance_calculation (double wavelength_meters, int nsteps_in_integration, bool tip_tilt_stars) const
double tilt_variance_calculation (double wavelength_meters, int nsteps_in_integration, const three_point &tp, bool tip_tilt_stars) const
pixel_array< precision > tilt_variance_calculation (double pixel_scale_meters, double wavelength_meters, int nsteps_in_integration, bool tip_tilt_stars) const
double get_aperture_outer_diameter () const

Protected Attributes

refractive_atmospheric_model ref_atm_model
aperture_type ap
emitterstored_emtr
phase_covariance< precision,
aperture_type > 
phase_covariance_aa
tilt_covariance< precision,
aperture_type > 
tilt_covariance_aa
vector< phase_covariance<
precision, aperture_type > > 
ho_phase_covariance_ai
vector< tilt_covariance< precision,
aperture_type > > 
tt_tilt_covariance_ai
vector< tilt_covariance< precision,
aperture_type > > 
ho_tilt_covariance_ai
vector< phase_covariance<
precision, aperture_type > > 
ho_phase_covariance_ij
vector< tilt_covariance< precision,
aperture_type > > 
tt_tilt_covariance_ij
vector< tilt_covariance< precision,
aperture_type > > 
ho_tilt_covariance_ij
vector< double > tip_tilt_weights
vector< double > high_order_weights
pixel_array< precision > stored_phase_variance_over_k_squared
pixel_array< precision > stored_OTF
double stored_OTF_wavelength

Detailed Description

template<typename precision, typename aperture_type>
class Arroyo::wavefront_phase_estimate< precision, aperture_type >

A class to hold a wavefront phase estimate formed from the linear combination of an arbitrary number of tip tilt guide stars and an arbitrary number of high order guide stars


Constructor & Destructor Documentation

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate  )  [inline]
 

Null constructor

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate const refractive_atmospheric_model ref_atm_model,
const aperture_type &  ap_type
 

Construct a null instance of a wavefront phase estimate. At present, the aperture ap must be a circular_aperture, or this constructor throws an error

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate const vector< emitter * > &  tip_tilt_guide_stars,
const vector< double > &  tip_tilt_weights,
const vector< emitter * > &  high_order_guide_stars,
const vector< double > &  high_order_weights,
const refractive_atmospheric_model ref_atm_model,
const aperture_type &  ap_type
 

Construct an instance of a wavefront phase estimate that uses linear combinations of guide stars to generate tip tilt and high order estimates. At present, the aperture ap must be a circular_aperture, or this constructor throws an error

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::~wavefront_phase_estimate  )  [inline]
 

Destructor

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate const wavefront_phase_estimate< precision, aperture_type > &  wpe  )  [inline]
 

Copy constructor

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate const char *  filename  )  [inline]
 

Construct from file

template<typename precision, typename aperture_type>
Arroyo::wavefront_phase_estimate< precision, aperture_type >::wavefront_phase_estimate const iofits iof  )  [inline]
 

Construct from an iofits object


Member Function Documentation

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::aperture_averaged_differential_phase_variance const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return the aperture averaged differential phase variance between the emitter emtr and the wavefront phase estimate

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::aperture_averaged_differential_tilt_phase_variance const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return the aperture averaged differential tilt phase variance between the emitter emtr and the wavefront phase estimate

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::aperture_averaged_tilt_variance_calculation double  wavelength_meters,
int  nsteps_in_integration,
bool  tip_tilt_stars
const [protected]
 

template<typename precision, typename aperture_type>
pixel_array< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::differential_phase_variance const emitter emtr,
double  pixel_scale_meters,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return a pixel array containing the differential phase variance between the emitter emtr and the wavefront phase estimate at point tp in the pupil plane. The differential phase is computed on a grid that covers the aperture with sampling set by the argument pixel_scale_meters

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::differential_phase_variance const emitter emtr,
const three_point tp,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return the differential phase variance between the emitter emtr and the wavefront phase estimate

template<typename precision, typename aperture_type>
pixel_array< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::differential_tilt_phase_variance const emitter emtr,
double  pixel_scale_meters,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return a pixel array containing the differential tilt phase variance between the emitter emtr and the wavefront phase estimate at point tp in the pupil plane. The differential phase is computed on a grid that covers the aperture with sampling set by the argument pixel_scale_meters

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::differential_tilt_phase_variance const emitter emtr,
const three_point tp,
double  wavelength_meters,
int  nsteps_in_integration
const
 

Return the differential tilt phase variance between the emitter emtr and the wavefront phase estimate at point tp in the pupil plane

template<typename precision, typename aperture_type>
bool Arroyo::wavefront_phase_estimate< precision, aperture_type >::emitter_check const emitter emtr  )  const [protected]
 

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::get_aperture_outer_diameter  )  const [protected]
 

template<typename precision, typename aperture_type>
refractive_atmospheric_model Arroyo::wavefront_phase_estimate< precision, aperture_type >::get_refractive_atmospheric_model  )  const [inline]
 

Function to print the coefficients

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::initialize_emitter const emitter emtr  )  const [protected]
 

template<typename precision, typename aperture_type>
basic_otf< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::NGS_optical_transfer_function const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration,
double  pupil_plane_pixel_scale_meters,
double  cutoff = 30
const
 

Returns a pixel array containing the long exposure optical transfer function

template<typename precision, typename aperture_type>
basic_observation< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::NGS_point_spread_function const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration,
double  pupil_plane_pixel_scale_meters,
double  field_size_arcsecs,
double  oversampling_factor,
double  cutoff = 30
const
 

Returns a pixel array containing the long exposure point spread function

template<typename precision, typename aperture_type>
wavefront_phase_estimate< precision, aperture_type > & Arroyo::wavefront_phase_estimate< precision, aperture_type >::operator= const wavefront_phase_estimate< precision, aperture_type > &  wpe  ) 
 

Operator =

template<typename precision, typename aperture_type>
basic_otf< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::optical_transfer_function const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration,
double  pupil_plane_pixel_scale_meters,
double  cutoff = 30
const
 

Returns a pixel array containing the long exposure optical transfer function

template<typename precision, typename aperture_type>
pixel_array< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::phase_structure_function const emitter emtr,
double  pixel_scale_meters,
double  wavelength_meters,
int  nsteps_in_integration,
int  xindex,
int  yindex
const
 

Returns a pixel array containing the value of the structure function computed betweeen a point tp1 and all other points in the aperture. The structure function is computed on a grid that covers the aperture with sampling set by the argument pixel_scale_meters.

The point tp must lie within the aperture, or this function throws an error

template<typename precision, typename aperture_type>
pixel_array< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::phase_structure_function const emitter emtr,
double  pixel_scale_meters,
double  wavelength_meters,
int  nsteps_in_integration,
const three_point tp
const
 

Returns a pixel array containing the value of the structure function computed betweeen a point tp1 and all other points in the aperture. The structure function is computed on a grid that covers the aperture with sampling set by the argument pixel_scale_meters.

The point tp must lie within the aperture, or this function throws an error

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::phase_structure_function const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration,
const three_point tp1,
const three_point tp2
const
 

Return the value of the structure function computed between points tp1 and tp2. These points must lie within the aperture, or this function throws an error.

template<typename precision, typename aperture_type>
basic_observation< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::point_spread_function const emitter emtr,
double  wavelength_meters,
int  nsteps_in_integration,
double  pupil_plane_pixel_scale_meters,
double  field_size_arcsecs,
double  oversampling_factor,
double  cutoff = 30
const
 

Returns a pixel array containing the long exposure point spread function

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::print std::ostream &  os,
const char *  prefix = ""
const
 

Function to print the coefficients

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::read const Arroyo::iofits iof  ) 
 

read from an iofits object

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::read const char *  filename  ) 
 

read from a file

template<typename precision, typename aperture_type>
pixel_array< precision > Arroyo::wavefront_phase_estimate< precision, aperture_type >::tilt_variance_calculation double  pixel_scale_meters,
double  wavelength_meters,
int  nsteps_in_integration,
bool  tip_tilt_stars
const [protected]
 

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::tilt_variance_calculation double  wavelength_meters,
int  nsteps_in_integration,
const three_point tp,
bool  tip_tilt_stars
const [protected]
 

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::write Arroyo::iofits iof  )  const
 

write to an iofits object

template<typename precision, typename aperture_type>
void Arroyo::wavefront_phase_estimate< precision, aperture_type >::write const char *  filename  )  const
 

write to a file


Member Data Documentation

template<typename precision, typename aperture_type>
aperture_type Arroyo::wavefront_phase_estimate< precision, aperture_type >::ap [protected]
 

template<typename precision, typename aperture_type>
vector<double> Arroyo::wavefront_phase_estimate< precision, aperture_type >::high_order_weights [protected]
 

template<typename precision, typename aperture_type>
vector<phase_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::ho_phase_covariance_ai [mutable, protected]
 

template<typename precision, typename aperture_type>
vector<phase_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::ho_phase_covariance_ij [protected]
 

template<typename precision, typename aperture_type>
vector<tilt_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::ho_tilt_covariance_ai [mutable, protected]
 

template<typename precision, typename aperture_type>
vector<tilt_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::ho_tilt_covariance_ij [protected]
 

template<typename precision, typename aperture_type>
phase_covariance<precision, aperture_type> Arroyo::wavefront_phase_estimate< precision, aperture_type >::phase_covariance_aa [mutable, protected]
 

template<typename precision, typename aperture_type>
refractive_atmospheric_model Arroyo::wavefront_phase_estimate< precision, aperture_type >::ref_atm_model [protected]
 

template<typename precision, typename aperture_type>
emitter* Arroyo::wavefront_phase_estimate< precision, aperture_type >::stored_emtr [mutable, protected]
 

template<typename precision, typename aperture_type>
pixel_array<precision> Arroyo::wavefront_phase_estimate< precision, aperture_type >::stored_OTF [mutable, protected]
 

template<typename precision, typename aperture_type>
double Arroyo::wavefront_phase_estimate< precision, aperture_type >::stored_OTF_wavelength [mutable, protected]
 

template<typename precision, typename aperture_type>
pixel_array<precision> Arroyo::wavefront_phase_estimate< precision, aperture_type >::stored_phase_variance_over_k_squared [mutable, protected]
 

template<typename precision, typename aperture_type>
tilt_covariance<precision, aperture_type> Arroyo::wavefront_phase_estimate< precision, aperture_type >::tilt_covariance_aa [mutable, protected]
 

template<typename precision, typename aperture_type>
vector<double> Arroyo::wavefront_phase_estimate< precision, aperture_type >::tip_tilt_weights [protected]
 

template<typename precision, typename aperture_type>
vector<tilt_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::tt_tilt_covariance_ai [mutable, protected]
 

template<typename precision, typename aperture_type>
vector<tilt_covariance<precision, aperture_type> > Arroyo::wavefront_phase_estimate< precision, aperture_type >::tt_tilt_covariance_ij [protected]
 


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