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

Arroyo::conic_section Class Reference

#include <conic_section.h>

Inheritance diagram for Arroyo::conic_section:

Arroyo::AO_sim_base Arroyo::conic_mirror_base Arroyo::conic_mirror< aperture_type > List of all members.

Public Member Functions

 conic_section ()
 conic_section (const conic_section &cmr)
 conic_section (const char *filename)
 conic_section (const iofits &iof)
 conic_section (const three_point &vertex, const three_point &focus, double eccty)
 ~conic_section ()
conic_sectionoperator= (const conic_section &cmr)
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
double get_eccentricity () const
three_point get_vertex () const
three_point get_near_focus () const
three_point get_far_focus () const
double get_latus_rectum () const
double get_local_curvature (three_point &tp) const
bool on_conic (const three_point &tp) const
void raytrace (const three_point &tp, const three_vector &tv, double &distance_to_conic, three_point &point_of_intersection, three_vector &conic_unit_normal, double &R_squared, double &V) const

Static Public Attributes

int verbose_level

Protected Attributes

bool plane_wave
three_point vertex
three_point focus
double eccentricity

Detailed Description

A class to represent a conic section


Constructor & Destructor Documentation

Arroyo::conic_section::conic_section  )  [inline]
 

Null constructor

Arroyo::conic_section::conic_section const conic_section cmr  ) 
 

Copy constructor

Arroyo::conic_section::conic_section const char *  filename  ) 
 

Construct from file

Arroyo::conic_section::conic_section const iofits iof  ) 
 

Construct from iofits object

Arroyo::conic_section::conic_section const three_point vertex,
const three_point focus,
double  eccty
 

Construct from the bits

The vertex of the conic lies along the axis of symmetry.

The focus of the conic is the focal point closest to the vertex.

The eccentricity of the conic is as follows:

For a spherical conic, eccentricity = 0 For an elliptical conic, 0 < eccentricity < 1 For a parabolic conic, eccentricity = 1 For a hyperbolic conic, eccentricity > 1

Arroyo::conic_section::~conic_section  )  [inline]
 

Destructor


Member Function Documentation

double Arroyo::conic_section::get_eccentricity  )  const [inline]
 

Get eccentricity

three_point Arroyo::conic_section::get_far_focus  )  const [inline]
 

Get focal point farthest from vertex

double Arroyo::conic_section::get_latus_rectum  )  const [inline]
 

Get latus rectum

double Arroyo::conic_section::get_local_curvature three_point tp  )  const
 

Get radius of curvature at vertex

three_point Arroyo::conic_section::get_near_focus  )  const [inline]
 

Get focal point nearest vertex

three_point Arroyo::conic_section::get_vertex  )  const [inline]
 

Get vertex

bool Arroyo::conic_section::on_conic const three_point tp  )  const
 

State whether the three point is on the conic surface

conic_section& Arroyo::conic_section::operator= const conic_section cmr  ) 
 

Operator =

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

Print

Implements Arroyo::AO_sim_base.

Reimplemented in Arroyo::conic_mirror_base, and Arroyo::conic_mirror< aperture_type >.

void Arroyo::conic_section::raytrace const three_point tp,
const three_vector tv,
double &  distance_to_conic,
three_point point_of_intersection,
three_vector conic_unit_normal,
double &  R_squared,
double &  V
const
 

Raytrace a line extending from three_point tp in the direction of the three_vector tv and the conic section. If there is no intersection point, this function throws an error

distance_to_conic is the distance from tp to the conic point of intersection in whatever units were used to define the focus and vertex of the conic section

point_of_intersection is the point at which the ray intersects the conic surface

conic_unit_normal is the unit vector normal to the conic surface at the point of intersection

The other two arguments are defined in Stavroudis

void Arroyo::conic_section::read const iofits iof  ) 
 

Read from an iofits object

Reimplemented in Arroyo::conic_mirror_base, and Arroyo::conic_mirror< aperture_type >.

void Arroyo::conic_section::read const char *  filename  ) 
 

Read from file

Reimplemented in Arroyo::conic_mirror_base, and Arroyo::conic_mirror< aperture_type >.

void Arroyo::conic_section::write iofits iof  )  const
 

Write to an iofits object

Reimplemented in Arroyo::conic_mirror_base, and Arroyo::conic_mirror< aperture_type >.

void Arroyo::conic_section::write const char *  filename  )  const
 

Write to file

Reimplemented in Arroyo::conic_mirror_base, and Arroyo::conic_mirror< aperture_type >.


Member Data Documentation

double Arroyo::conic_section::eccentricity [protected]
 

three_point Arroyo::conic_section::focus [protected]
 

bool Arroyo::conic_section::plane_wave [protected]
 

int Arroyo::conic_section::verbose_level [static]
 

Verbose level

three_point Arroyo::conic_section::vertex [protected]
 


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