optics
Class Aspheric

java.lang.Object
  extended by optics.Optics
      extended by optics.Aspheric
All Implemented Interfaces:
SurfaceFunction
Direct Known Subclasses:
EvenAspheric

public abstract class Aspheric
extends Optics
implements SurfaceFunction

Abstract class to implement an Aspheric surface profile.


Field Summary
protected  double[] bc
          The aspheric components
protected  double curvature
          The basic curvature
protected  double epsilon
          The conic shape factor
protected  double maxRadius
          The maximum radius
 
Fields inherited from class optics.Optics
DEFAULT_WAVELENGTH, errorStream, fmt, MICRONS, version
 
Constructor Summary
Aspheric()
           
 
Method Summary
 double getAspheric(int i)
          Method to get the specifed Aspheric coefficient.
 double getCurvature()
          Method to get the curvature
 double getMaxRadius()
          Meth tyo get the maxiumm radius
abstract  Director getNormal(double x, double y)
          Abstract method to get the surface normal at point x/y
 Director getNormal(Point2d pt)
          Method to get the surface normal at Point2d
abstract  double getProfile(double x, double y)
          Abstarct method to get the surface profile.
 double getProfile(Point2d pt)
          Method to get the surface profile at a Point2d
 double getQuadric()
          Method to get the Quadric parameter
 double getValue(Point2d p)
          Method to get the value used by SurfaceFunction.
 void scale(double a)
          Method to scale the Aspheric
 void setAspheric(double[] b)
          Method to set the aspheric expansion
 void setAspheric(int i, double val)
          Method to set one aspheric components
 void setCurvature(double c)
          Method to set the curvature
 void setMaxRadius(double r)
          Method to set the maximum radius
 void setQuadric(double e)
          Method to set the Quardic parameter
 
Methods inherited from class optics.Optics
getDefaultWaveLength, getErrorStream, getFormatString, getName, getStaticName, getVersion, printError, setDefaultWaveLength, setErrorStream, setFormatString, setMicrons
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxRadius

protected double maxRadius
The maximum radius


curvature

protected double curvature
The basic curvature


epsilon

protected double epsilon
The conic shape factor


bc

protected double[] bc
The aspheric components

Constructor Detail

Aspheric

public Aspheric()
Method Detail

setCurvature

public void setCurvature(double c)
Method to set the curvature

Parameters:
c - the curvature

getCurvature

public double getCurvature()
Method to get the curvature

Returns:
double the curvature

setQuadric

public void setQuadric(double e)
Method to set the Quardic parameter

Parameters:
e - the Quadric parameter

getQuadric

public double getQuadric()
Method to get the Quadric parameter

Returns:
double the quadric parameter

setMaxRadius

public void setMaxRadius(double r)
Method to set the maximum radius

Specified by:
setMaxRadius in interface SurfaceFunction
Parameters:
r - the maximun radius

getMaxRadius

public double getMaxRadius()
Meth tyo get the maxiumm radius

Specified by:
getMaxRadius in interface SurfaceFunction

setAspheric

public void setAspheric(double[] b)
Method to set the aspheric expansion

Parameters:
b - the aspheric expansion

setAspheric

public void setAspheric(int i,
                        double val)
Method to set one aspheric components

Parameters:
i - the coefficient index
val - the value

getAspheric

public double getAspheric(int i)
Method to get the specifed Aspheric coefficient.

Parameters:
i - the aspheric component index
Returns:
double value of component.

scale

public void scale(double a)
Method to scale the Aspheric

Parameters:
a - the scale factor

getValue

public double getValue(Point2d p)
Method to get the value used by SurfaceFunction.

Specified by:
getValue in interface SurfaceFunction
Parameters:
p - the surface point.
Returns:
double the function value

getProfile

public abstract double getProfile(double x,
                                  double y)
Abstarct method to get the surface profile.

Parameters:
x - the x value
y - the y value

getProfile

public double getProfile(Point2d pt)
Method to get the surface profile at a Point2d

Parameters:
pt - the Point

getNormal

public abstract Director getNormal(double x,
                                   double y)
Abstract method to get the surface normal at point x/y

Parameters:
x - the x location.
y - the y location
Returns:
Director the surface normal

getNormal

public Director getNormal(Point2d pt)
Method to get the surface normal at Point2d

Parameters:
pt - the Point.
Returns:
Director the surface normal