optics
Class Singlet

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector<OpticalSurface>
              extended by optics.OpticalGroup
                  extended by optics.Singlet
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<OpticalSurface>, java.util.Collection<OpticalSurface>, java.util.List<OpticalSurface>, java.util.RandomAccess, LensSystem

public class Singlet
extends OpticalGroup

Class to implement a singlet lens with two spherical surfaces being an OpticalGroup with a much simplfied interface.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
Singlet(double z, double fc, RefractiveIndex index, double thick, double bc, double d)
          For a singlet with a spefified position, two spherical surfaces and a specifed refractive index
Singlet(Position p, double fc, RefractiveIndex index, double thick, double bc, double d)
          For a singlet with a spefified position, two spherical surfaces and a specifed refractive index
 
Method Summary
static Singlet biConvex(double z, double f, RefractiveIndex index, double thick, double d)
          Static method to return a bi-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter.
static Singlet biConvex(Position p, double f, RefractiveIndex index, double thick, double d)
          Static method to return a bi-convex Singlet specified by focal length, refractive index, thickness and diameter.
 double getBend()
          Method to get the bend parameter of the Singlet lens
static Singlet planoConvex(double z, double f, RefractiveIndex index, double thick, double d)
          Static method to return a plano-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter.
static Singlet planoConvex(Position p, double f, RefractiveIndex index, double thick, double d)
          Static method to return a plano-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter.
 void setBend(double beta)
          Method to set the bend parameter of the Singlet.
 
Methods inherited from class optics.OpticalGroup
addSurface, getAperture, getApertureSurface, getDiagram2D, getEntranceAperture, getEntrancePupil, getExitAperture, getExitPupil, getGroupPoint, getNext, getParaxialGroup, getSurface, getTitle, read, read, read, readChooser, readChooser, reset, reverse, scale, setApertureSurface, setBackFocalLength, setGroupPoint, setTitle, write, write, write, write
 
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Constructor Detail

Singlet

public Singlet(Position p,
               double fc,
               RefractiveIndex index,
               double thick,
               double bc,
               double d)
For a singlet with a spefified position, two spherical surfaces and a specifed refractive index

Parameters:
p - the reference point at centre of front element
fc - curvature of front surface
index - refractive index of glass.
thick - thickness at centre of singlet
bc - curvature of back surface
d - the diameter, but surfaces have same dianeter

Singlet

public Singlet(double z,
               double fc,
               RefractiveIndex index,
               double thick,
               double bc,
               double d)
For a singlet with a spefified position, two spherical surfaces and a specifed refractive index

Parameters:
z - location of first surface on z axis
fc - curvature of front surface
index - refractive index of glass.
thick - thickness at centre of singlet
bc - curvature of back surface
d - the diameter, but surfaces have same dianeter
Method Detail

getBend

public double getBend()
Method to get the bend parameter of the Singlet lens

Returns:
double the bend parameter

setBend

public void setBend(double beta)
Method to set the bend parameter of the Singlet. Note the focal length will change (slighly)

Parameters:
beta - the bend parameter

biConvex

public static Singlet biConvex(Position p,
                               double f,
                               RefractiveIndex index,
                               double thick,
                               double d)
Static method to return a bi-convex Singlet specified by focal length, refractive index, thickness and diameter. If the focal length is negative, the lens will be bi-concave.

Parameters:
p - the lens position.
f - focal length at Optics.DEFAULT_WAVELENGTH in mm.
index - the glass refractive index
thick - centre thickness.
d - the diameter

biConvex

public static Singlet biConvex(double z,
                               double f,
                               RefractiveIndex index,
                               double thick,
                               double d)
Static method to return a bi-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter. If the focal length is negative, the lens will be bi-concave.

The lens is optimised for focal length, thus the thickness may be different than specified.

Parameters:
z - lens position on optical axis.
f - target focal length at Optics.DEFAULT_WAVELENGTH
index - the glass refractive index
thick - centre thickness (approx)
d - the diameter

planoConvex

public static Singlet planoConvex(Position p,
                                  double f,
                                  RefractiveIndex index,
                                  double thick,
                                  double d)
Static method to return a plano-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter. If the focal length is negative, the lens will be plano-concave.

The lens is optimised for focal length, thus the thickness may be different than specified.

Parameters:
p - the lens position.
f - target focal length at Optics.DEFAULT_WAVELENGTH
index - the glass refractive index
thick - centre thickness (approx)
d - the diameter

planoConvex

public static Singlet planoConvex(double z,
                                  double f,
                                  RefractiveIndex index,
                                  double thick,
                                  double d)
Static method to return a plano-convex Singlet specified by focal length, refractive index, approxiate thickness and diameter. If the focal length is negative, the lens will be plano-concave.

The lens is optimised for focal length, thus the thickness may be different than specified.

Parameters:
z - lens position on optical axis.
f - target focal length at Optics.DEFAULT_WAVELENGTH
index - the glass refractive index
thick - centre thickness (approx)
d - the diameter