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

Arroyo::tiled_hexagonal_aperture Class Reference

#include <aperture.h>

Inheritance diagram for Arroyo::tiled_hexagonal_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

 tiled_hexagonal_aperture (const tiled_hexagonal_aperture &tiled_hexagonal_ap)
 tiled_hexagonal_aperture (const char *filename)
 tiled_hexagonal_aperture (const iofits &iof)
 tiled_hexagonal_aperture (double inner_diameter, double outer_diameter, double in_edge_length, double in_gap_size)
 ~tiled_hexagonal_aperture ()
tiled_hexagonal_apertureoperator= (const tiled_hexagonal_aperture &tiled_hexagonal_ap)
tiled_hexagonal_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_edge_length () const
double get_gap_size () const
rectangular_region get_covering_region (const three_frame &tf) const
virtual void transform (diffractive_wavefront< float > &dwf) const
virtual void transform (diffractive_wavefront< double > &dwf) const
double convex_polygon_overlap (const vector< three_point > &polygon_vertices) const

Protected Member Functions

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

Protected Attributes

Arroyo::pixel_array< long > tilemap
 A 2d map of zeroes or ones to indicate whether tiles exist.
double edge_length
 The edge length of a tile, in meters.
double gap_size
 The gap between tiles, in meters.

Detailed Description

A class to represent a tiled hexagonalagonal aperture


Constructor & Destructor Documentation

Arroyo::tiled_hexagonal_aperture::tiled_hexagonal_aperture const tiled_hexagonal_aperture tiled_hexagonal_ap  ) 
 

Copy constructor

Arroyo::tiled_hexagonal_aperture::tiled_hexagonal_aperture const char *  filename  ) 
 

Construct from file

Arroyo::tiled_hexagonal_aperture::tiled_hexagonal_aperture const iofits iof  ) 
 

Construct from iofits object

Arroyo::tiled_hexagonal_aperture::tiled_hexagonal_aperture double  inner_diameter,
double  outer_diameter,
double  in_edge_length,
double  in_gap_size
 

Construct an aperture like that proposed for Celt, where hexagons tile an annulus. All hexagons with centers that lie at radii between inner_diameter and outer_diameter are included in the aperture. According to Mitch, one proposal for celt: 4mm gaps, hex side .5 meters, maybe 20 rings.

Note - edge length and gap size must be positive.

All arguments are in meters

Arroyo::tiled_hexagonal_aperture::~tiled_hexagonal_aperture  )  [inline]
 

Destructor


Member Function Documentation

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

Clone method

Calling routine is responsible for deleting memory

Implements Arroyo::aperture.

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

Return the overlapping area between a convex polygon and the tiled hexagonal 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::tiled_hexagonal_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::tiled_hexagonal_aperture::get_edge_length  )  const [inline]
 

Return the edge length in meters

double Arroyo::tiled_hexagonal_aperture::get_gap_size  )  const [inline]
 

Return the gap between tiles, in meters

tiled_hexagonal_aperture& Arroyo::tiled_hexagonal_aperture::operator= const tiled_hexagonal_aperture tiled_hexagonal_ap  ) 
 

Operator =

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

Print

Reimplemented from Arroyo::aperture.

template<class T>
void Arroyo::tiled_hexagonal_aperture::private_transform diffractive_wavefront< T > &  dwf  )  const [protected]
 

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::tiled_hexagonal_aperture::read const iofits iof  )  [virtual]
 

Read from an iofits object

Implements Arroyo::aperture.

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

Read from file

Implements Arroyo::aperture.

virtual void Arroyo::tiled_hexagonal_aperture::transform diffractive_wavefront< double > &  dwf  )  const [virtual]
 

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

virtual void Arroyo::tiled_hexagonal_aperture::transform diffractive_wavefront< float > &  dwf  )  const [virtual]
 

Apply the aperture to the wavefront

Implements Arroyo::one_to_one_optic.

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

Write to an iofits object

Implements Arroyo::aperture.

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

Write to file

Implements Arroyo::aperture.


Member Data Documentation

double Arroyo::tiled_hexagonal_aperture::edge_length [protected]
 

The edge length of a tile, in meters.

double Arroyo::tiled_hexagonal_aperture::gap_size [protected]
 

The gap between tiles, in meters.

Arroyo::pixel_array<long> Arroyo::tiled_hexagonal_aperture::tilemap [protected]
 

A 2d map of zeroes or ones to indicate whether tiles exist.


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