optics
Class ParaxialPlanes

java.lang.Object
  extended by optics.Optics
      extended by optics.ParaxialPlanes
All Implemented Interfaces:
Diagram2DComponent

public class ParaxialPlanes
extends Optics
implements Diagram2DComponent

Class to manipulate paraxial system and image planes and the relations between them. All coordinates are globals.


Field Summary
 
Fields inherited from class optics.Optics
DEFAULT_WAVELENGTH, errorStream, fmt, MICRONS
 
Constructor Summary
ParaxialPlanes(LensSystem lens, double lambda)
          Constructor for ParaxialPlanes with the imaging system specifed by a LensSystem at a specified wavelength.
ParaxialPlanes(ParaxialGroup g)
          Constructor to form ParaxialPlanes with the imaging system specified by a ParaxialGroup.
ParaxialPlanes(ParaxialSystem s)
          Constructor to form ParaxialPlanes with the imaging system specified by a ParaxialGroup.
 
Method Summary
 void draw(java.awt.Graphics2D g)
          Method to draw the planes in a Graphics2D context
 java.awt.geom.Rectangle2D getBounds()
          Method to get the graphical bounds all the pkanes.
 double getImageHeight()
          Method to get image height
 double getImagePlane()
          Return the image plane, if set, else Double.NaN
 double getLinearMagnification()
          Return the lienar magnification between image to object plane if set, else Double.NaN
 double getObjectHeight()
          Method to get object height
 double getObjectPlane()
          Return the object plane if set, else Double.NaN
 ParaxialGroup getParaxialGroup()
          Method to get the underlying ParaxialGroup
 javax.vecmath.Point2d imagePoint(javax.vecmath.Point2d objectPoint)
          Method to get a image point for a two-dimensional objectpoint assumed to be in the objectPlane
 void setImageHeight(double h)
          Method to set image height
 void setImagePlane(double z)
          Set the image plane with respect to the origin and also calculate the object plane and linear magnification.
 void setLinearMagnification(double m)
          Set the lienar magnification and calculate the locations of the object and image planes, with object plane will be to the left of the input plane.
 void setObjectHeight(double h)
          Method to set object height
 void setObjectPlane(double z)
          Set the object plane and also calculate the image plane and linear magnification.
 java.lang.String toString()
          String method print the planes to a String.
 
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, wait, wait, wait
 

Constructor Detail

ParaxialPlanes

public ParaxialPlanes(ParaxialGroup g)
Constructor to form ParaxialPlanes with the imaging system specified by a ParaxialGroup.

Parameters:
g - the ParaxialGroup

ParaxialPlanes

public ParaxialPlanes(ParaxialSystem s)
Constructor to form ParaxialPlanes with the imaging system specified by a ParaxialGroup.

Parameters:
s - the ParaxialSystem

ParaxialPlanes

public ParaxialPlanes(LensSystem lens,
                      double lambda)
Constructor for ParaxialPlanes with the imaging system specifed by a LensSystem at a specified wavelength.

The OpticalGroup is internally represebred by a ParaxialGroup that can be accesses by getParaxialGroup().

Parameters:
lens - the lens system.
lambda - the wavelength in microns
Method Detail

toString

public java.lang.String toString()
String method print the planes to a String. The reported planes and front/back focal, front/back principal, object and image.

Overrides:
toString in class java.lang.Object
Returns:
formatted String

getParaxialGroup

public ParaxialGroup getParaxialGroup()
Method to get the underlying ParaxialGroup

Returns:
ParaxialGroup the parxial lens

getObjectPlane

public double getObjectPlane()
Return the object plane if set, else Double.NaN

Returns:
double location of object plane

getImagePlane

public double getImagePlane()
Return the image plane, if set, else Double.NaN

Returns:
double location of image plane

getLinearMagnification

public double getLinearMagnification()
Return the lienar magnification between image to object plane if set, else Double.NaN

Returns:
double the linear magnification.

setObjectPlane

public void setObjectPlane(double z)
Set the object plane and also calculate the image plane and linear magnification.

Parameters:
z - Position of object plane in global coordinates.

setImagePlane

public void setImagePlane(double z)
Set the image plane with respect to the origin and also calculate the object plane and linear magnification.

Parameters:
z - Position of object plans

setLinearMagnification

public void setLinearMagnification(double m)
Set the lienar magnification and calculate the locations of the object and image planes, with object plane will be to the left of the input plane.

Parameters:
m - the magnification

setObjectHeight

public void setObjectHeight(double h)
Method to set object height


setImageHeight

public void setImageHeight(double h)
Method to set image height


getObjectHeight

public double getObjectHeight()
Method to get object height


getImageHeight

public double getImageHeight()
Method to get image height


imagePoint

public javax.vecmath.Point2d imagePoint(javax.vecmath.Point2d objectPoint)
Method to get a image point for a two-dimensional objectpoint assumed to be in the objectPlane

Parameters:
objectPoint - Point2d in object plane
Returns:
Point2d Gaussian point in image plane

getBounds

public java.awt.geom.Rectangle2D getBounds()
Method to get the graphical bounds all the pkanes.

Specified by:
getBounds in interface Diagram2DComponent
Returns:
Rectangle2D the bounds

draw

public void draw(java.awt.Graphics2D g)
Method to draw the planes in a Graphics2D context

Specified by:
draw in interface Diagram2DComponent
Parameters:
g - the Graphics2D