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

Arroyo::annular_aperture Class Reference

#include <aperture.h>

Inheritance diagram for Arroyo::annular_aperture:

Arroyo::aperture Arroyo::plane_optic Arroyo::one_to_one_optic Arroyo::optic Arroyo::three_frame Arroyo::optic Arroyo::AO_sim_base Arroyo::three_point Arroyo::AO_sim_base Arroyo::spidered_annular_aperture List of all members.

Public Member Functions

 annular_aperture ()
 annular_aperture (const annular_aperture &annular_ap)
 annular_aperture (const char *filename)
 annular_aperture (const iofits &iof)
 annular_aperture (double in_diameter, double out_diameter)
 ~annular_aperture ()
annular_apertureoperator= (const annular_aperture &annular_ap)
annular_apertureclone () const
virtual void read (const char *filename)
virtual void read (const iofits &iof)
virtual void write (const char *filename) const
virtual void write (iofits &iof) const
void print (ostream &os, const char *prefix="") const
double get_inner_diameter () const
double get_outer_diameter () 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
double convex_polygon_overlap (const vector< three_point > &polygon_vertices) const

Protected Member Functions

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

Protected Attributes

double inner_diameter
 The inner_diameter of the aperture in meters.
double outer_diameter
 The outer_diameter of the aperture in meters.

Detailed Description

A class to represent an annular aperture.


Constructor & Destructor Documentation

Arroyo::annular_aperture::annular_aperture  ) 
 

Null constructor

Arroyo::annular_aperture::annular_aperture const annular_aperture annular_ap  ) 
 

Copy constructor

Arroyo::annular_aperture::annular_aperture const char *  filename  ) 
 

Construct from file

Arroyo::annular_aperture::annular_aperture const iofits iof  ) 
 

Construct from iofits object

Arroyo::annular_aperture::annular_aperture double  in_diameter,
double  out_diameter
 

Construct from the bits

The inner and outer diameters should be specified in meters

Arroyo::annular_aperture::~annular_aperture  )  [inline]
 

Destructor


Member Function Documentation

annular_aperture* Arroyo::annular_aperture::clone  )  const [inline, virtual]
 

Clone method

Calling routine is responsible for deleting memory

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

double Arroyo::annular_aperture::convex_polygon_overlap const vector< three_point > &  polygon_vertices  )  const [virtual]
 

Return the overlapping area between a convex polygon and the annular aperture

The vertices of the polygon must lie in the plane of the aperture, or this function throws an error

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

rectangular_region Arroyo::annular_aperture::get_covering_region const three_frame tf  )  const [virtual]
 

Get a rectangular region guaranteed to cover the aperture. 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 aperture, this function throws an error

Implements Arroyo::optic.

double Arroyo::annular_aperture::get_inner_diameter  )  const [inline]
 

Return the inner diameter of the aperture

Diameter returned in meters

double Arroyo::annular_aperture::get_outer_diameter  )  const [inline]
 

Return the outer diameter of the aperture

Diameter returned in meters

annular_aperture& Arroyo::annular_aperture::operator= const annular_aperture annular_ap  ) 
 

Operator =

void Arroyo::annular_aperture::print ostream &  os,
const char *  prefix = ""
const [virtual]
 

Print

Reimplemented from Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

template<class T>
void Arroyo::annular_aperture::private_transform diffractive_wavefront< T > &  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.

Reimplemented in Arroyo::spidered_annular_aperture.

virtual void Arroyo::annular_aperture::read const iofits iof  )  [virtual]
 

Read from an iofits object

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

virtual void Arroyo::annular_aperture::read const char *  filename  )  [virtual]
 

Read from file

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

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

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

Reimplemented in Arroyo::spidered_annular_aperture.

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

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

Reimplemented in Arroyo::spidered_annular_aperture.

virtual void Arroyo::annular_aperture::write iofits iof  )  const [virtual]
 

Write to an iofits object

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.

virtual void Arroyo::annular_aperture::write const char *  filename  )  const [virtual]
 

Write to file

Implements Arroyo::aperture.

Reimplemented in Arroyo::spidered_annular_aperture.


Member Data Documentation

double Arroyo::annular_aperture::inner_diameter [protected]
 

The inner_diameter of the aperture in meters.

double Arroyo::annular_aperture::outer_diameter [protected]
 

The outer_diameter of the aperture in meters.


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