tempusSystem Class DispersionController
DispersionController is part of the WaveTrain system class library

DispersionController is a special purpose system class used for setting the modeling options to be used in refractive bending (dispersion). A DispersionController can be connected anywhere along the path between an optical source and an optical sensor; if no DispersionController is in the path, then dispersion will not be applied to that beam. If there are two or more DispersionControllers along the same source-sensor path, the one nearest the source overrides the others. Typically, you will want to apply the same dispersion parameters to all propagations, so a single DispersionController should be placed on a common path for all sources. You will need one DispersionController or outgoing beams and another for incoming beams.

The useDispersion flag is used to turn dispersion on or off. Bending of light rays is calculated relative to the path taken by light with the nominalWavelength, i.e., phase screens are centered on the path taken by light with the nominal wavelength. Bending occurs in the vertical direction, but as WaveTrain does not currently contain an earth-based coordinate system the upDirection must be specified by the user as a vector in the (x,y) plane. upDirection will be normalized if it is not a unit vector, and if it is not defined the y axis will be assumed to be up.

Use the WaveTrainInspector system to check that dispersion is being applied to a wave.

Tempus Block Diagram Editor Snapshot
Parameters
useDispersion  bool   Apply atmospheric dispersion calculations   false
nominalWavelength  float   Nominal wavelength (m) for dispersion calculations   0.0
upDirection  Vector<float>   Direction from the center of the earth   TwoVecF(0,1)
Inputs
incident  WaveTrain   describes all light incident   WaveTrain()
Outputs
transmitted  WaveTrain   describes all light transmitted   
Subsystems


Last Saved: Thu May 04 15:07:00 MDT 2006 by TVE version 2007B