Element class for optical-system specification

This class is meant to represent elements of an optical system, an element consisting of a surface, a statement as to the type of surface (reflection or refraction), a drift length to the next surface, and a glass type in that intervening drift (air being a special glass type). This class is able to describe axially symmetric surfaces in terms of conics and higher-order correction terms. An optical specification consists of a starting 'object' element, zero or more internal elements, and a final 'image' element, all in an array.

Instance properties

Surf
Definition of a surface, being of type Surf.
st
The surface type whose value may be from the enumeration Surf.Type, i.e., Reflect (0), Refract (1), Drift (2), and NotApplicable (3). Not applicable to the first and last elements of a specification.
l
Drift length between the surface and the subsequent surface in a specification. Not applicable to the final 'image' element of a specification. The type is double.
idx
The optical material between the surface and the subsequent surface of a specification given by an object of type OptGlass. Not applicable to the final 'image' element of a specification.

Methods

The constructor requires as arguments the instance properties as is.

Dim x as Surf = New Surf(2, -1)  ' parabolic surface, roc = 2
Dim bk7 as OptGlass = n_bk7	 ' Schott glass type bk7
Dim el as Element = New Element(x, Surf.Type.Reflect, 2.8, bk7)

The function index, which takes as an argument a wavelength in microns and returns an index of refraction from the idx property.

The function ToString returns a string representation of the object.

Dependencies

This class requires the following classes:

References

  1. N. Towne, Implementation of truncated power series algebra under the Microsoft .NET framework, (TPSA.html).
  2. .NET framework, Wikipedia (http://en.wikipedia.org/wiki/Dot_net_framework).

Nathan Towne
12/2011