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

Arroyo::spidered_annular_aperture Class Reference

#include <aperture.h>

Inheritance diagram for Arroyo::spidered_annular_aperture:

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 List of all members.

Public Member Functions

 spidered_annular_aperture ()
 spidered_annular_aperture (const spidered_annular_aperture &spdrd_annular_ap)
 spidered_annular_aperture (const char *filename)
 spidered_annular_aperture (const iofits &iof)
 spidered_annular_aperture (double in_diameter, double out_diameter, int nspiders, double spider_width)
 ~spidered_annular_aperture ()
spidered_annular_apertureoperator= (const spidered_annular_aperture &spdrd_annular_ap)
spidered_annular_apertureclone () const
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
void transform (diffractive_wavefront< float > &wf) const
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

long nspiders
 The number of spiders.
double spider_width
 The width of the spiders.

Detailed Description

A class to represent an annular aperture with spiders of arbitrary width.


Constructor & Destructor Documentation

Arroyo::spidered_annular_aperture::spidered_annular_aperture  ) 
 

Null constructor

Arroyo::spidered_annular_aperture::spidered_annular_aperture const spidered_annular_aperture spdrd_annular_ap  ) 
 

Copy constructor

Arroyo::spidered_annular_aperture::spidered_annular_aperture const char *  filename  ) 
 

Construct from file

Arroyo::spidered_annular_aperture::spidered_annular_aperture const iofits iof  ) 
 

Construct from iofits object

Arroyo::spidered_annular_aperture::spidered_annular_aperture double  in_diameter,
double  out_diameter,
int  nspiders,
double  spider_width
 

Construct from the bits

The inner and outer diameters and the width of the spiders should be specified in meters

Arroyo::spidered_annular_aperture::~spidered_annular_aperture  )  [inline]
 

Destructor


Member Function Documentation

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

Clone method

Calling routine is responsible for deleting memory

Reimplemented from Arroyo::annular_aperture.

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

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

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

Reimplemented from Arroyo::annular_aperture.

spidered_annular_aperture& Arroyo::spidered_annular_aperture::operator= const spidered_annular_aperture spdrd_annular_ap  ) 
 

Operator =

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

Print

Reimplemented from Arroyo::annular_aperture.

template<class T>
void Arroyo::spidered_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 from Arroyo::annular_aperture.

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

Read from an iofits object

Reimplemented from Arroyo::annular_aperture.

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

Read from file

Reimplemented from Arroyo::annular_aperture.

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

Apply the aperture to the wavefront

Reimplemented from Arroyo::annular_aperture.

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

Apply the aperture to the wavefront

Reimplemented from Arroyo::annular_aperture.

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

Write to an iofits object

Reimplemented from Arroyo::annular_aperture.

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

Write to file

Reimplemented from Arroyo::annular_aperture.


Member Data Documentation

long Arroyo::spidered_annular_aperture::nspiders [protected]
 

The number of spiders.

double Arroyo::spidered_annular_aperture::spider_width [protected]
 

The width of the spiders.


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