optics
Class Aspheric

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

public abstract class Aspheric
extends 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
 
Fields inherited from class optics.Optics
DEFAULT_WAVELENGTH, errorStream, fmt, MICRONS
 
Constructor Summary
Aspheric()
           
 
Method Summary
 double getAspheric(int i)
          Method to get the specifed Aspheric coefficient.
 double getCurvature()
          Method to get the curvature
abstract  Director getNormal(double x, double y)
          Abstract method to get the surface normal at point x/y
 Director getNormal(javax.vecmath.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(javax.vecmath.Point2d pt)
          Method to get the surface profile at a Point2d
 double getQuadric()
          Method to get the Quadric parameter
 double getValue(double x, double y)
          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 setQuadric(double e)
          Method to set the Quardic parameter
 
Methods inherited from class optics.SurfaceFunction
getValue
 
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

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

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(double x,
                       double y)
Method to get the value used by SurfaceFunction.

Specified by:
getValue in class SurfaceFunction
Parameters:
x - the x location
y - the y location
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(javax.vecmath.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(javax.vecmath.Point2d pt)
Method to get the surface normal at Point2d

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