optics
Class OpticalSystem

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

public class OpticalSystem
extends java.util.Vector<OpticalGroup>
implements LensSystem

Class to hold a whole OpticalSystem being a Vector of OpticalGroups. This class implements the standard LensSystem interface so allowing direct tracing via ray or ray pencils and can also be direcly added to a Diagram.

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
OpticalSystem()
          Form a blank OpticalSystem with eth default title "Lens System".
OpticalSystem(java.lang.String title)
          Form a blank OpticalSystem with a specified title.
 
Method Summary
 void addGroup(OpticalGroup g)
          Method to add an OpticalGroup to the system
 Diagram2D getDiagram2D()
          Method to get the whole systems as a displayable Diagram2D
 CircularAperture getEntranceAperture()
          Get the entrance aperture of the system as a Circular aperture being the physical entrance aperture of the first surface.
 CircularAperture getExitAperture()
          Get the exit aperture of the system as a Circular aperture being the physical entrance aperture of the last surface.
 OpticalGroup getGroup(int i)
          Method to get a specified OpticalGroup
 OpticalSurface getNext()
          Method to get the next OpticalSurface in order.
 ParaxialGroup getParaxialGroup(double lambda)
          Method to get the equivalent ParaxialGroup to the whole OpticalSystem.
 java.lang.String getTitle()
          Method to get the title string
 void reset()
          Method to reset the group counter and the counters of the attached Groups.
 void setTitle(java.lang.String t)
          Method to set the title
 
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

OpticalSystem

public OpticalSystem(java.lang.String title)
Form a blank OpticalSystem with a specified title.

Parameters:
title - the title string.

OpticalSystem

public OpticalSystem()
Form a blank OpticalSystem with eth default title "Lens System".

Method Detail

setTitle

public void setTitle(java.lang.String t)
Method to set the title

Parameters:
t - the title string

getTitle

public java.lang.String getTitle()
Method to get the title string

Returns:
String the title string.

addGroup

public void addGroup(OpticalGroup g)
Method to add an OpticalGroup to the system

Parameters:
g - the OpticalGroup to be added.

getGroup

public OpticalGroup getGroup(int i)
Method to get a specified OpticalGroup

Returns:
OpticalGroup the scecified OpticalGroup or null is the index is outside the vencto length

getNext

public OpticalSurface getNext()
Method to get the next OpticalSurface in order. If there are no more surfaces then null is returned.

Specified by:
getNext in interface LensSystem
Returns:
OpticalSurface

reset

public void reset()
Method to reset the group counter and the counters of the attached Groups.

Specified by:
reset in interface LensSystem

getEntranceAperture

public CircularAperture getEntranceAperture()
Get the entrance aperture of the system as a Circular aperture being the physical entrance aperture of the first surface.

The entrance aperture will be in the current group with its location defined with respect to the group reference point.

Specified by:
getEntranceAperture in interface LensSystem
Returns:
CircularAperture the entrance aperture

getExitAperture

public CircularAperture getExitAperture()
Get the exit aperture of the system as a Circular aperture being the physical entrance aperture of the last surface.

The exit aperture will be in the current group with its location defined with respect to the group reference point.

Specified by:
getExitAperture in interface LensSystem
Returns:
CircularAperture the exit aperture

getParaxialGroup

public ParaxialGroup getParaxialGroup(double lambda)
Method to get the equivalent ParaxialGroup to the whole OpticalSystem.

Specified by:
getParaxialGroup in interface LensSystem
Parameters:
lambda - the wavelength

getDiagram2D

public Diagram2D getDiagram2D()
Method to get the whole systems as a displayable Diagram2D

Specified by:
getDiagram2D in interface LensSystem
Returns:
Diagram2D