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

Arroyo::rectangular_aperture Class Reference

#include <aperture.h>

Inheritance diagram for Arroyo::rectangular_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 List of all members.

Public Member Functions

 rectangular_aperture ()
 rectangular_aperture (const rectangular_aperture &rectangular_ap)
 rectangular_aperture (const char *filename)
 rectangular_aperture (const iofits &iof)
 rectangular_aperture (double x_size, double y_size)
 ~rectangular_aperture ()
rectangular_apertureoperator= (const rectangular_aperture &rectangular_ap)
rectangular_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
vector< double > get_size () 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

vector< double > size
 The physical dimensions of the aperture.

Detailed Description

A class to represent a rectangular aperture.


Constructor & Destructor Documentation

Arroyo::rectangular_aperture::rectangular_aperture  ) 
 

Null constructor

Arroyo::rectangular_aperture::rectangular_aperture const rectangular_aperture rectangular_ap  ) 
 

Copy constructor

Arroyo::rectangular_aperture::rectangular_aperture const char *  filename  ) 
 

Construct from file

Arroyo::rectangular_aperture::rectangular_aperture const iofits iof  ) 
 

Construct from iofits object

Arroyo::rectangular_aperture::rectangular_aperture double  x_size,
double  y_size
 

Construct from the bits

The dimensions of the aperture should be specified in meters

Arroyo::rectangular_aperture::~rectangular_aperture  )  [inline]
 

Destructor


Member Function Documentation

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

Clone method

Calling routine is responsible for deleting memory

Implements Arroyo::aperture.

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

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

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

Implements Arroyo::aperture.

rectangular_region Arroyo::rectangular_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.

vector<double> Arroyo::rectangular_aperture::get_size  )  const [inline]
 

Return the physical dimensions of the aperture

Size returned in meters

rectangular_aperture& Arroyo::rectangular_aperture::operator= const rectangular_aperture rectangular_ap  ) 
 

Operator =

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

Print

Reimplemented from Arroyo::aperture.

template<class T>
void Arroyo::rectangular_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.

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

Read from an iofits object

Implements Arroyo::aperture.

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

Read from file

Implements Arroyo::aperture.

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

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

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

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

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

Write to an iofits object

Implements Arroyo::aperture.

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

Write to file

Implements Arroyo::aperture.


Member Data Documentation

vector<double> Arroyo::rectangular_aperture::size [protected]
 

The physical dimensions of the aperture.


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