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:
- The class Surf in Surface.vb, which in turn requires the class TPSA in TPSA.vb for the truncated power series algebra describing surfaces.
- The class OptGlass in OptGlass.vb, which models the optical properties of glasses. About 440 commercial glasses and the special glass air are defined by this class.
References
- N. Towne, Implementation of truncated power series algebra under the Microsoft .NET framework, (TPSA.html).
-
- .NET framework, Wikipedia (http://en.wikipedia.org/wiki/Dot_net_framework).
Nathan Towne
12/2011