#include <optic.h>
Inheritance diagram for Arroyo::optic:

Public Member Functions | |
| optic () | |
| optic (const optic &op) | |
| virtual | ~optic () |
| optic & | operator= (const optic &op) |
| bool | get_foreshortening () const |
| void | set_foreshortening (bool fshrtn) |
| virtual void | read (const iofits &iof) |
| virtual void | write (iofits &iof) const |
| virtual void | print (ostream &os, const char *prefix="") const |
| virtual rectangular_region | get_covering_region (const three_frame &tf) const =0 |
| virtual three_point | get_point_of_intersection (const three_point &tp, const three_vector &tv) const =0 |
Static Public Member Functions | |
| optic * | optic_factory (const char *filename) |
| optic * | optic_factory (const iofits &iof) |
Static Public Attributes | |
| int | verbose_level |
Protected Attributes | |
| bool | foreshortening |
| A flag to indicate whether to account for foreshortening that results when a wavefront strikes an optic at an oblique angle. Default is true. | |
|
|
Null constructor |
|
|
Copy constructor |
|
|
Virtual destructor |
|
|
Get a rectangular region guaranteed to cover the entire optic. The resulting region will have its edges aligned with the x and y axes of the three_frame tf, regardless of the foreshortening status of the optic. However, if foreshortening is on then the rectangular region returned by this function covers the optic when projected onto the plane containing the optic. If foreshortening is off, then this function returns a region that covers the optic when rotated into the plane of the optic. That is, when we just assume the z axis defining the plane containing the region is the same as the z axis defining the optic.) Implemented in Arroyo::circular_aperture, Arroyo::annular_aperture, Arroyo::rectangular_aperture, Arroyo::hexagonal_aperture, Arroyo::tiled_hexagonal_aperture, Arroyo::conic_mirror< aperture_type >, Arroyo::square_lenslet_array, and Arroyo::refractive_atmospheric_layer< T >. |
|
|
Query whether the optic appears foreshortened to a wavefront incident at an angle to the optic |
|
||||||||||||
|
Get the point of intersection of a line extending from three_point tp in the direction of the three_vector tv and this optic. If there is no intersection point, this function throws an error Implemented in Arroyo::conic_mirror_base, Arroyo::conic_mirror< aperture_type >, and Arroyo::plane_optic. |
|
|
Operator = |
|
|
Factory to construct optics from file |
|
|
Factory to construct optics from file |
|
||||||||||||
|
|
|
Choose whether the optic appears foreshortened to a wavefront incident at an angle to the optic |
|
|
|
A flag to indicate whether to account for foreshortening that results when a wavefront strikes an optic at an oblique angle. Default is true.
|
|
|
Verbose level |
1.3.9.1