AbbeVNumber

AbbeVNumber is a rule name that specifies the Abbe V-number, Vd = (nd-1) / (nf-nc), and is a measure of the chromatic aberration of an optical material.
Here, nf, nd, and nc are the refractive index values for three different wavelengths specified by the SpectralRegion option. See also: FindGlassNumbers, SpectralRegion, GlassCodeFunction, GlassMap, MeanDispersion, GlassCodeNumber, and PartialDispersionRatio.

ABCDMatrix

ABCDMatrix[component, {{M1, M2}, {M3, M4}}, options] is a generic building block that produces scattered rays according to the ABCD matrix law.
ABCDMatrix is also a rule that specifies ABCD-matrix data.
See also: ExitPosition, ThinLens, ThickLens, and ABCDOptic.

ABCDOptic

ABCDOptic[abcdmatrix, aperture, thickness, label, options] denotes a two-surfaced planar component that scatters rays using the abcdmatrix specified with an entrance plane and an exit plane separated by the indicated thickness.
The thickness parameter specifies either a number or a surface function of two variables. ABCDOptic is intended for simple two-dimensional ray-tracing procedures. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

See also: ABCDMatrix, ThinLens, and ThickLens.

AbsoluteSizeComponentOrientation

AbsoluteSizeComponentOrientation is a an option of ShowComponentOrientation, that determines the absolute length of lines. SizeComponentOrientation is suppressed by AbsoluteSizeComponentOrientation. See also: ShowSystem, ShowComponentOrientation.

AbsoluteSizeRayOrientation

AbsoluteSizeRayOrientation is a an option of ShowRayOrientation that determines the absolute length of lines. SizeRayOrientation is suppressed by AbsoluteSizeRayOrientation. See also: ShowSystem, ShowRayOrientation.

AbsoluteSizeSurfaceOrientation

AbsoluteSizeSurfaceOrientation is a an option of ShowSurfaceOrientation that determines the absolute length of lines. SizeSurfaceOrientation is suppressed by AbsoluteSizeSurfaceOrientation. See also: ShowSystem, ShowSurfaceOrientation.

AbsoluteStepSize

AbsoluteStepSize -> increment/Automatic gives the absolute rate of increment used to step through numeric solutions.

AbsoluteStepSize works in tandom with StepSize. AbsoluteStepSize -> Automatic indicates that the relative StepSize will be used instead. See also: StepSize.

Absorption

Absorption[component, options] is a generic building block that creates a ray-tracing function to absorb the intensity of rays hitting the optical surface.

Acetone

Acetone specifies the use of an acetone liquid medium at 20 degrees Celsius.
The refractive index model for Acetone is most suitable for the wavelength range of .43 microns to .66 microns. Acetone has a density of 0.791, relative to the density of water.

AcidResistance

AcidResistance is a database rule name that specifies the acid resistance of a material.

ActiveComponent

ActiveComponent -> True is an option that designates whether the component contains active surfaces where rays can interact.
ActiveComponent -> False is used when constructing inactive components made up of only graphical information. ActiveComponent is an option of ComponentFoundation.

ActiveRegion

ActiveRegion is an option of Component functions that determines which side of the optical surface shall be modeled for approaching rays by ModelIntensity and ModelPolarization.
For single surfaces, ActiveRegion -> Automatic or 0 is active on both sides of the surface. ActiveRegion -> -1 specifies rays approaching the surface from the negative optical axis, while ActiveRegion -> 1 indicates rays approaching from the positive optical axis.
For double surfaces, ActiveRegion -> Automatic or 0 specifies the region between the two surfaces.

ActiveScattering

ActiveScattering -> Automatic/True/False is an option of the ScatterRays that indicates whether seed-scattering sources are dynamically refreshed during the trace.
ActiveScattering has an important effect on randomized seed sources, which use MonteCarlo -> True/Stratified, since each scatter site will display an identical scattering behavior with ActiveScattering -> False. ActiveScattering -> Automatic uses the True setting with the MonteCarlo -> True/Stratified seed-source settings and False otherwise. An additional option, PropagateSystem -> False, can be used to conserve memory during TurboTrace calculations by inhibiting ActiveScattering -> False for PropagateSystem. See also: MonteCarlo.

Add

Add -> {newobjects, {coordinatepoints}} is an option of AnalyzeSystem/ShowSystem based on mouse-generated coordinatepoints that inserts new components and rays within an existing system.
Add uses a list of coordinatepoints taken with the mouse from the rendered graphics to indicate the final location of the inserted objects. A second coordinate point is used to indicate the previous element of the optical system. Object-sequence positions may also be used to specify objects instead of coordinatepoints. Add uses the two-dimensional coordinate system given in PlotType.
See also: DrawSystem, PlotType, ToleranceSelection, ToleranceDoubleClick, SnapGrid, SnapGridOffset, Move, MoveReflected, Arrange, Rotate, Copy, Constrain, Snap, Align, Transform, Swap, Remove, Identify.

AddDeflection

AddDeflection[component, options] is a generic building block used to append elements to Deflections.


AddDeflection -> {buildingblockname...} creates Deflections with buildingblockname[component, options] for every buildingblockname element. These deflections are appended to those inside component, but not connected to any of the surfaces. AddDeflection passes options and component as list of rules to genetic.

See also: AddSurface, InsertDeflection, RemoveDeflection, and RemoveSurface.

AddLabels

AddLabels -> {{listoflabels},{listofpositions}} is a PlugIn for ShowSystem that adds one or more labels to the system rendering.
AddLabels uses two lists to indicate the label names and label positions. See also: ShowSystem, MoveLabels, RenameLabels, and ShowLabels.

AddRandomRayTilt

AddRandomRayTilt[component, {{x1,x2},{y1,y2}}, options] is a generic building block that introduces a random factor to the tilt direction of each propagated ray.
Here, the {{x1,x2},{y1,y2}} parameters specify the angular ranges of the ray tilt fluctuations along the horizontal and vertical directions. When the random behavior is symmetric about the surface normal, then the single-valued full-angles x and y can be specified in place of {x1,x2} and {y1,y2}. When the random factor is non-isotropic and only varies in x, then the y parameters can be omitted. Three examples of this are: 90, {90,90}, and {{-45,45},{-45,45}}.
The Lambertian option is also used by ScatterRays. For Lambertian->True, the scattered rays are oriented about the surface normal. For Lambertian->False, the scattered rays are oriented with the incoming ray direction.
See also: Lambertian, LimitScatter, and LimitByReflection.

AddSurface

AddSurface[component, options] is a genetic building block used to insert surfaces between existing ones.

The new surfaces are not related to a deflection and they are not an entrance surface, but they are inserted in ConfinedPaths. AddSurface -> value controls the insertion place, AffectedSurfaces -> value between which surfaces to insert. Allowed values in (the list) AddSurface are between 0 and 1, describing the fraction of the distance between adjacent surfaces. Alternatively a surface can be directly specified. AffectedSurfaces can be a list of numbers or a word value (except slot specifications). SimpleSurface -> True tries to generate simple shapes for the new surfaces. AddSurface passes options to ComponentFoundation, ComponentRendering and Confine.

See also: InsertDeflection, RemoveDeflection, AddDeflection, AffectedSurfaces, SortSurfaces, SimpleSurface, and RemoveSurface.

AddSurfaceRoughness

AddSurfaceRoughness[component, {{x1,x2}, {y1,y2}}, options] is a genetic building block that introduces a random factor to the surface normals of one or more optical surfaces in the component.
Here, the {{x1,x2}, {y1,y2}} parameters specify the angular ranges of the tilt fluctuations along the horizontal and vertical directions. When the random behavior is symmetric about the surface normal, then the single-valued full-angles x and y can be specified in place of {x1,x2} and {y1,y2}. When the surface roughness is non-isotropic and only varies in x, then the y parameters can be omitted. Three examples of this are: 90, {90,90}, and {{-45,45},{-45,45}}.
AddSurfaceRoughness inserts a Random function within the SurfaceNormalFunction.

AffectedSurfaces

AffectedSurfaces is an option of BuildComponent that specifies which surfaces of Component are to be affected by a newly introduced ray-tracing function.
AffectedSurfaces carries a list of numbers and word values that denotes the surfaces inheriting a new ray-tracing function trait. As an example, AffectedSurfaces -> {1} specifies that the first surface function slotted in Surfaces is to inherit the new ray-tracing function trait.
If a list element of AffectedSurfaces is a list, it specifies a pathnumber, pathslot and deflectionslot inside ConfinedPaths. The new deflection is inserted in the list of DeflectionNumber at position deflectionslot, but only in pathslot slot of pathnumber path of ConfinedPaths. This type of AffectedSurfaces is used for example to put a grating on a refractive surface.
See also: AllDeflections, AllSurfaces, FirstSlot, NotFirstSlot, LastSlot, NotLastSlot, and IndependentSurfaces.

Air

Air denotes the use of an air medium with a refractive index of 1.00027 at the 0.5876 micron wavelength. The refractive index data were calculated for a temperature of 20 degrees Celsius, a pressure of 100 kPa, 50% air humidity, and 450 ppm of carbon dioxide. The refractive index model for Air is most suitable for the wavelength range of 0.3 microns to 1.7 microns. The data for this Air model was provided by Dr. ir. Hedser van Brug.

Align

Align -> {coordinatepoints} is an option of AnalyzeSystem/ShowSystem based on mouse-generated coordinatepoints that automatically aligns the components and rays along an optical axis. The axis is three-dimensional and defined by the closest neighboring objects, or two-dimensional and defined as points.
Align uses a list of coordinatepoints taken with the mouse from the rendered graphics to indicate the start point of the axis, the objects getting aligned, and the end point of the axis. An optional point before the last one specifies the position along the axis. Object-sequence positions may also be used to specify objects instead of coordinatepoints.
Align does essentially the same as Snap, but it uses another order of coordinate points.
See also: DrawSystem, PlotType, ToleranceSelection, ToleranceDoubleClick, SnapGrid, SnapGridOffset, Move, MoveReflected, Arrange, Rotate, Copy, Constrain, Snap, Transform, Add, Swap, Remove, Identify.

AlkaliResistance

AlkaliResistance is a database rule name that specifies the alkali resistance of a material.

AllCreatedAmplitudes

AllCreatedAmplitudes = {{ax, ay, az},..} is used within HeldDeflectionKernel functions to specify new electric-field vectors of one or more outgoing rays.
In general, ax, ay, and az are complex numbers that indicate absolute field directions.  AllCreatedAmplitudes is generated by some HeldDeflectionKernel functions to specify electric-field information. TurboTrace later converts the reported AllCreatedAmplitudes into Polarization for storage in TurboRays.
See also: RayAmplitude and Polarization.

AllCreatedRays

AllCreatedRays is a value of TakeFrom, AddTo, and ReplaceFor and specifies that all Ray objects returned by previous ray-tracing function calculations are passed to or returned from DeflectionFunction.
If AllCreatedRays is listed by TakeFrom, then AllCreatedRays is included as an input to the ray-tracing function calculation. If AllCreatedRays is listed by AddTo, then the elements of AllCreatedRays replace the previous AllCreatedRays object.
Currently, only Transmission and Hole are designed to use TakeFrom -> AllCreatedRays. See also: NewRay, CreatedRay, ChangedRay, OriginalRay, AddTo, and TakeFrom.

AllDeflections

AllDeflections is a value of AffectedSurfaces that denotes that the added genetic ray-tracing function slot number is interlaced throughout the listing of DeflectionNumber values.
In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within Deflections) to the affected DeflectionNumber value within ConfinedPaths.
See also: AllSurfaces, FirstSlot, NotFirstSlot, LastSlot, NotLastSlot, AffectedSurfaces, and IndependentSurfaces.

AllowZeroRayLength

AllowZeroRayLength is an unauthorized rule of Ray that specifies whether the ray segment is permitted to have a zero length during a surface-ray intersection calculation.
AllowZeroRayLength is set to True when the ray is crossing between two distinct optical surfaces. AllowZeroRayLength is set to False during a repeated surface interaction. AllowZeroRayLength is only created when RayHistory is invoked. See also: RayHistory

AllSurfaces

AllSurfaces is a value of AffectedSurfaces of BuildComponent that specifies that the added ray-tracing function slot number is appended to all DeflectionNumber values.
In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within Deflections) to the affected DeflectionNumber value within ConfinedPaths.
See also: AllDeflections, FirstSlot, NotFirstSlot, LastSlot, NotLastSlot, AffectedSurfaces, and IndependentSurfaces.

AnalyzeSystem

AnalyzeSystem[system, options] takes a system of light sources and optical elements defined by a mixed list of Source and Component objects, traces the rays through the components, and renders the results according to the PlotType, RayChoice, ShowRange, and ColorView options.
AnalyzeSystem is an alias name for DrawSystem. See also PropagateSystem, DrawSystem, TurboTrace, and TurboPlot.

AnamorphicPrisms

AnamorphicPrisms[aperture, bigedgethickness, firstangle, prismspacing, secondangle, exitoffset, label, options] specifies a pair of wedge-shaped prism elements that are commonly used to correct the asymmetric beam shape of a laser diode- from elliptical to near circular in shape.
AnamorphicPrisms is created with the first prism surface positioned at the origin with a tilt given by firstangle and the second prism located offset along the positive x-axis with the lateral offset given by exitoffset and tilted by secondangle. The aperture argument may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The bigedgethickness specifies the thickness of the larger prism edge. The firstangle and secondangle parameters denote the amount of tilt in the x-y plane given to the first and second prism elements. The prismspacing argument gives the gap between the two prism elements. Finally, the exitoffset parameter indicates the distance between the last prism's exit surface center and the x-axis (incoming optical axis). The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

See also: Prism, WedgePrism, DovePrism, PentaPrism, and RhomboidPrism.

AngleTolerance

AngleTolerance is a database rule name that specifies the manufacturing angular tolerances of an optical component expressed in units of +- seconds of arc. See also: ThicknessTolerance and DimensionalTolerance.

Anisotropic

Anisotropic is a value of Theory to characterize an anisotropic medium.

AntireflectionCoating

AntireflectionCoating is part of the pattern ModelCoating[AntireflectionCoating, substrate, reflectivity] that is used to define a coating which reflects on every substrate reflectivity percent.

ApertureQ

ApertureQ[x] tests whether x is a valid aperture specification for an optical element. The result is True or False.

ApertureStop

ApertureStop[aperture, holeaperture, label, options] and ApertureStop[aperture, holeaperture, thickness, label, options] denotes a planar component with a hole created in its middle.
ApertureStop is created with its first surface centered about the origin. The aperture and holeaperture arguments may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

AppendGraphics

AppendGraphics -> primitiveslist is an option of ShowSystem that gives a list of graphics to be rendered after those of ShowSystem. See also: PrependGraphics.

Arrange

Arrange -> {coordinatepoints} is an option of AnalyzeSystem/ShowSystem based on mouse-generated coordinatepoints that rearranges the ordering of components and rays in the optical system.
Arrange uses a list of coordinatepoints taken with the mouse from the rendered graphics to specify a new sequence order for the selected objects. Normally, the first coordinate point indicates the point of insertion to the list of objects. If the first coordinate corresponds to an empty point in space then the listed objects will be inserted at the beginning of the optical system sequence. Object-sequence positions may also be used to specify objects instead of coordinatepoints. Arrange uses the two-dimensional coordinate system given in PlotType.
See also: DrawSystem, PlotType, ToleranceSelection, ToleranceDoubleClick, SnapGrid, SnapGridOffset, Move, MoveReflected, Rotate, Copy, Constrain, Snap, Align, Transform, Add, Swap, Remove, Identify.

AsphericLens

AsphericLens[{curvature1, conic1, polynomialcoefficients1,insideaperture1}, {curvature2, conic2, polynomialcoefficients2, insideaperture2}, aperture, thickness, label, options] designates a double-surfaced lens both having aspherical surfaces.
The centerline curvature, conicconstant, and aspheric polynomialcoefficients for an aspheric lens prescription are all required. An optional specification for an insideaperture to each surface may also be given. AsphericLens uses the EvenFunction->True option to indicate the use of even power polynomial terms as coefficients, starting with the second order term. Otherwise, both even and odd power terms will be used. AsphericLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture argument may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics. (Inspired by William Cottingame, UCLA.)
See also: AsphericLensSurface, AsphericMirror, ToroidalLensSurface, ToroidalLens, and ToroidalMirror.

AsphericLensSurface

AsphericLensSurface[{curvature, conicconstant, polynomialcoefficients, insideaperture}, aperture, label, options] designates a lens component that has an aspheric shape.
The centerline curvature, and conicconstant for an aspheric lens prescription are all required. Optional specifications for , the aspheric polynomialcoefficients and insideaperture to the surface may also be given. AsphericLensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. AsphericLensSurface uses the EvenFunction->True option to indicate the use of even power polynomial terms as coefficients, starting with the second order. Otherwise, both even and odd power terms will be used. AsphericLensSurface is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. (Inspired by William Cottingame, UCLA.) The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
See also: AsphericLens, AsphericMirror, ToroidalLensSurface, ToroidalLens, and ToroidalMirror.

AsphericMirror

AsphericMirror[{curvature, conicconstant, polynomialcoefficients, insideaperture}, aperture, label, options] and AsphericMirror[{curvature, conicconstant, polynomialcoefficients, insideaperture}, aperture, thickness, label, options] designates a mirror component that has an aspheric reflective shape.
The centerline curvature, and conicconstant for an aspheric mirror prescription are all required. Optional specifications for the aspheric polynomialcoefficients and insideaperture to the surface may also be given. The thickness refers to the refractive substrate of the mirror. If no thickness value is given, the component is a single-sided mirror. AsphericMirror is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it. FlatSubstrate -> True creates the mirror on a flat-backed substrate. Hole -> holeaperture creates hole in the mirror. Depending on the InputEdgeThickness option setting, the thickness parameter may denote either the small edge thickness or the center thickness of the component. With InputEdgeThickness -> True, the thickness parameter is taken for the edge thickness. AsphericMirror uses the EvenFunction->True option to indicate the use of even power polynomial terms as coefficients, starting with the second order. Otherwise, both even and odd power terms will be used. (Inspired by Dave Whiteman, NASA.)
The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
See also: AsphericLens, AsphericLensSurface, ToroidalLensSurface, ToroidalLens, and ToroidalMirror.

AssignRay

AssignRay is a placeholder inside HeldTraceKernel that designate an assignment of ray values in a Map.

AttenuationIndex

AttenuationIndex is a rule of Ray that gives the imaginary part of the refractive index divided by the real part for the ray segment in the local environment. The effective refractive index for Snells law is defined by RefractiveIndex + I*AttenuationIndex. AttenuationIndex uses ModelRefractiveIndex to calculate its value. In the case of a birefringent material, the value is a 3x3 tensor with components relative to the coordinate system passed as variable to the function ModelRefractiveIndex. See also: ModelRefractiveIndex, RelativePermeability, RefractiveIndex.

AttenuationIndexFunction

AttenuationIndexFunction -> function is a rule within TurboSurfaces that designates the functions for the attenuation indices on both sides of a surface.

AuthorizeNewOptions

AuthorizeNewOptions[component, optionlabels, options] is a generic building block used for adding new Ray option labels that are authorized to be carried within Ray objects across multiple ray/surface generations.
Ray parameters created by ray-tracing functions that are not listed in Options[Ray] or included in the NewAuthorizedOptions Ray object parameter are removed after the following surface encounter. Contents of optionlabels are added to NewAuthorizedOptions.
Note that AuthorizeNewOptions is only used in PropagateSystem and is not recognized by TurboTrace, which limits its usefulness in the present Rayica version.

Back

Back is a value of CurvatureDirection.

BackFacetDiameter

BackFacetDiameter is an option of the Solitaire prism that denotes the diameter of the back half-facets (below the girdle) as a percentage of the overall Solitaire diameter.
Specialized options of the Solitaire prism include: TableDiameter, GirdleThickness, CrownAngle, PavilionAngle, StarDiameter, BackFacetDiameter, CrownHeight, PavilionDepth, CuletAngle, and CuletDiameter.

BackFocalLength

BackFocalLength indicates the distance between the FocalPoint position and the chief center of the last optical surface.
See also: FindFocus and FindFocusFast.

Baffle

Baffle[aperture, label, options] and Baffle[aperture, thickness, label, options] denote a planar, component having only absorbing sides.


Baffle is created centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

Baffled

Baffled is an option of some built-in component functions that specifies whether there are absorbing surfaces present.
Normally, Baffled -> True indicates that the effected surfaces are made as absorbers and Baffled -> False indicates that the effected surfaces are refractive surfaces. Baffled -> {surfacenumbers} is also used to specify each absorbing surface by the surface number.

BaffleSpan

BaffleSpan[{x1, y1}, {x2, y2}, height, label, options] and BaffleSpan[{x1, y1}, {x2, y2}, thickness, height, label, options] is similar to Baffle except that its size and placement are specified by the two two-dimensional coordinates {x1, y1} and {x2, y2}.
BaffleSpan spans the specified coordinates in the x-y-plane and has the specified height in z-direction.. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BaffleWithHole

BaffleWithHole[aperture, holeaperture, label, options] and BaffleWithHole[aperture, holeaperture, thickness, label, options] designate a planar component with a hole created in its middle.
BaffleWithHole is created with its first surface centered about the origin. The aperture and holeaperture arguments may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BaK1

BaK1 specifies the use of the BaK1 glass medium.
The refractive index model for BaK1 is most suitable for the wavelength range of .35 microns to 2.3 microns.

BalancePhaseFront

BalancePhaseFront -> True/False is an option of most ray sources that controls the starting point of the rays.
For True, the starting point of each ray is adjusted to maintain a uniform transverse phasefront for the light source. This is particularly important in wavefront calculations, where uniform transverse phasefronts are required. BalancePhaseFront works closely with the StartAtBirthPoint option.
See also: BirthPoint and StartAtBirthPoint.

BallBaffle

BallBaffle[radius, label, options] denotes an entire spherical absorbing surface.
BallBaffle is created with its center at the origin of the coordinate system. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BallLens

BallLens[diameter, label, options] denotes an entire spherical refractive component.
With the option setting Centered -> True, BallLens is created with its center of mass at the coordinate origin. With Centered -> False, BallLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BallMirror

BallMirror[diameter, label, options] denotes an entire spherical mirror.
With the option setting Centered -> True, BallMirror is created with its center of mass at the coordinate origin. With Centered -> False, BallMirror is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

Base

Base is a value that indicates the base surface of an optical component.

BeamCurvature

BeamCurvature is a rule returned by GaussianBeam that designates the radius of phase curvature in a particular transverse plane for a Gaussian beam.
See also: BeamWaist, SymbolicBeamWaist, WaistDistance, SymbolicWaistDistance, SymbolicBeamCurvature, SymbolicBeamSpotSize, BeamDivergence, SymbolicBeamDivergence, BeamScaleLength, SymbolicBeamScaleLength, ComplexBeamParameter, and SymbolicComplexBeamParameter.

BeamDivergence

BeamDivergence is an rule returned by GaussianBeam that specifies the far-field full angle of divergence (in radians) of a Gaussian beam.
See also: BeamWaist, SymbolicBeamWaist, WaistDistance, SymbolicWaistDistance, BeamCurvature, SymbolicBeamCurvature, BeamSpotSize, SymbolicBeamSpotSize, SymbolicBeamDivergence, BeamScaleLength, SymbolicBeamScaleLength, ComplexBeamParameter, and SymbolicComplexBeamParameter.

BeamScaleLength

BeamScaleLength is a rule returned by GaussianBeam that is directly related to the beam waist spot size and is the axial scale length given for the particular Gaussian beam waist.
See also: BeamWaist, SymbolicBeamWaist, SymbolicBeamWaist, SymbolicBeamSpotSize, BeamCurvature, SymbolicBeamCurvature, BeamDivergence, SymbolicBeamDivergence, SymbolicBeamScaleLength, ComplexBeamParameter, and SymbolicComplexBeamParameter.

BeamSplitter

BeamSplitter[{percentreflected, percenttransmitted}, aperture, label, options] and BeamSplitter[{percentreflected, percenttransmitted}, aperture, thickness, label, options] designate a planar component that has a partially reflective/transmissive side with a thickness specified and a refractive side.
BeamSplitter is created with its splitting surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BeamSplitterCube

BeamSplitterCube[{percentreflected, percenttransmitted}, side, label, options] refers to a solid cube beam splitter that has a partially reflective/refractive surface across its diagonal.
BeamSplitter is created with one face centered about the origin and the opposite face positioned down the positive x axis. The side parameter specifies the edge dimension of a cube. Baffled->True is used to create absorbing surfaces at the top of the bottom of the cube. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

See also: BeamSplitter, WedgeBeamSplitter, and ConjugateBeamSplitter.

BeamSpotSize

BeamSpotSize is a rule returned by GaussianBeam that designates the Gaussian beam radius (at 1/e of its amplitude peak) in a particular transverse plane.
See also: BeamWaist, SymbolicBeamWaist, WaistDistance, SymbolicWaistDistance, BeamCurvature, SymbolicBeamCurvature, SymbolicBeamSpotSize, BeamDivergence, SymbolicBeamDivergence, BeamScaleLength, SymbolicBeamScaleLength, ComplexBeamParameter, and SymbolicComplexBeamParameter.

BeamWaist

BeamWaist is a rule returned by GaussianBeam that designates the minimum radius size (at 1/e of its amplitude peak) at the waist position of a particular Gaussian beam.
See also: SymbolicBeamWaist, WaistDistance, SymbolicWaistDistance, SymbolicBeamSpotSize, BeamCurvature, SymbolicBeamCurvature, BeamDivergence, SymbolicBeamDivergence, BeamScaleLength, SymbolicBeamScaleLength, ComplexBeamParameter, and SymbolicComplexBeamParameter.

BiConcaveCylindricalLens

BiConcaveCylindricalLens[focallength, aperture, thickness, label, options] refers to a lens with two equally concave cylindrical surfaces.
BiConcaveCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
Note that the specified focallength is always determined for a particular setting of the DesignWaveLength and ComponentMedium options. By default, Rayica uses DesignWaveLength->0.5461 microns and ComponentMedium->BK7. Care should be taken to insure that these default settings are compatible with the intended experimental design or unintended results can occur.

BiConcaveLens

BiConcaveLens[focallength, aperture, thickness, label, options] refers to a lens with two equally concave spherical surfaces.
BiConcaveLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
Note that the specified focallength is always determined for a particular setting of the DesignWaveLength and ComponentMedium options. By default, Rayica uses DesignWaveLength->0.5461 microns and ComponentMedium->BK7. Care should be taken to insure that these default settings are compatible with the intended experimental design or unintended results can occur.

BiConvexCylindricalLens

BiConvexCylindricalLens[focallength, aperture, thickness, label, options] designates a lens with two equally convex cylindrical surfaces.
BiConvexCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
Note that the specified focallength is always determined for a particular setting of the DesignWaveLength and ComponentMedium options. By default, Rayica uses DesignWaveLength->0.5461 microns and ComponentMedium->BK7. Care should be taken to insure that these default settings are compatible with the intended experimental design or unintended results can occur.

BiConvexLens

BiConvexLens[focallength, aperture, thickness, label, options] designates a lens with two equally convex spherical surfaces.
BiConvexLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
Note that the specified focallength is always determined for a particular setting of the DesignWaveLength and ComponentMedium options. By default, Rayica uses DesignWaveLength->0.5461 microns and ComponentMedium->BK7. Care should be taken to insure that these default settings are compatible with the intended experimental design or unintended results can occur.

BirefringentLensSurface

BirefringentLensSurface[axisangle, aperture, label, options] denotes a planar component that models the index boundary between a birefringent-refractive material and an isotropic-refractive material.
BirefringentLensSurface is always used in combination with one or more additional BirefringentLensSurface component types to create a complete optical element such as a prism. BirefringentLensSurface is created with its surface centered about the origin. BirefringentLensSurface uses the option ComponentMedium -> {mediumO, mediumE} to designate the type of birefringent optical material with the alignment axis of materialO given by axisangle. Otherwise, ComponentMedium -> {{mediumO, mediumE}, isotropicmedium} specifies the interface with an isotropic material other than the default IntrinsicMedium setting. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.
See also: CustomBirefringentLensSurface, LinearPolarizer, RetardationPlate, and JonesMatrixOptic.

BirthPoint

BirthPoint->coordinates is an option of ray sources that gives the three-dimensional spatial coordinates of the light source. BirthPoint -> Automatic yields an on-axis source at the origin. BirthPoint uses the CoordinateSystem option to specify whether its arguments shall be given in rectangular coordinates (CoordinateSystem -> CartesianCoordinates) or spherical coordinates (CoordinateSystem -> PolarCoordinates).
See also: SymbolicBirthPoint, CoordinateSystem, StartAtBirthPoint, and BalancePhaseFront.

BK7

BK7 indicates the use of the BK7 glass medium.
The refractive index model for BK7 is most suitable for the wavelength range of .35 microns to 2.3 microns.

Boundary

Boundary[boundaryparameters, label, options] designates a rectangular box that absorbs rays intercepted by its walls.
Here, the user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. There are four methods for specifying boundaryparameters: Boundary[{x1, y1, z1}, {x2, y2, z2}] uses the coordinates of top and bottom opposite corners of a rectangular box, Boundary[side] assumes a cube boundary, Boundary[xside, yside, zside] assumes a three-dimensional box that has a length specified by xside, a width specified by yside, and a height specified by zside, and Boundary[aside, bside] assumes a three-dimensional box that has a length specified by aside, a width specified by bside, and a height specified by bside. Optical systems usually have at least one boundary component listed at the end. By default, Boundary is not rendered. See also: ClearBoundary.

BoundaryChecked

BoundaryChecked -> True/False indicates whether ModelSurfaceRayIntersections has automatically incorporated the InsideSurfaceBoundaryQ information into the SurfaceIntersectionFunction.
BoundaryChecked and SurfaceIntersectionFunction are both returned by ModelSurfaceRayIntersections and embedded within the Surfaces rule of a component by ComponentFoundation. See also: InsideSurfaceBoundaryQ, ModelSurfaceRayIntersections, and SurfaceIntersectionFunction.

BoundaryFactor

BoundaryFactor -> factor determines a SurfaceBoundary scaling factor to be used during the construction of SurfaceApproximation models.
BoundaryFactor is an option of ModelSurfaceRayIntersections and ComponentFoundation. BoundaryFactor is also used in BoundingBox -> Automatic. See also: SurfaceApproximation, BoundingBox, and ModelSurfaceRayIntersections.

BoundaryLabel

BoundaryLabel -> label is a rule within TurboSurfaces that designates a boundary type.

BoundingBox

BoundingBox -> component is an option of custom optical elements that specifies a component shape whose one or more surfaces span the customized surface volume.
In addition to directly accepting a component or list of components, BoundingBox can also take one or more numerical values to describe its form. BoundingBox -> {{xmin, ymin, zmin}, {xmax, ymax, zmax}} may be used instead of a component to specify a three-dimensional rectangular volume. BoundingBox -> diameter specifies a spherical volume of the given diameter. Otherwise, BoundingBox -> {aside, bside} assumes a centred three-dimensional box that has a length specified by aside, a width specified by bside, and a height specified by bside. Finally, BoundingBox -> Automatic automatically determines a rectangular volume boundary from the SurfacePoints information when SurfaceApproximation -> Automatic is invoked.
In general, the BoundingBox information need not be rectangular and can be defined by any set of one or more analytic surfaces (passed in the component.) In addition, the BoundingBox need not define a closed volume. The BoundingBox option is used internally by ComponentFoundation and ModelSurfaceRayIntersections to construct the BoundingBoxQ function. BoundingBox is defined relative to the local coordinate system of the optical surface.
See also: BoundingBoxQ, ComponentFoundation, SurfacePoints, SurfaceApproximation, BoundaryFactor, and ModelSurfaceRayIntersections.

BoundingBoxQ

BoundingBoxQ -> function designates a function that returns True if the ray intercepts one or more of the BoundingBox surfaces.
BoundingBoxQ is used to speed nonsequential ray-trace calculations in which specialized custom surfaces are involved. The function of BoundingBoxQ takes the parameters: RSx, RSy, RSz, RTx, RTy, and RTz, where {RSx, RSy, RSz} is the ray starting point and {RTx, RTy, RTz} is the unit ray tilt vector. For iterative or open-form SurfaceRayIntersections settings (such as Numeric, FindRoot, FindMinimum, Solve, and NSolve), BoundingBoxQ is automatically created from BoundingBox and embedded within the SurfaceIntersectionFunction by ModelSurfaceRayIntersections. BoundingBoxQ is also located within the Surfaces rule of a component. BoundingBoxQ is only created for custom-component shapes and is not generally included in Rayica's standard components.
See also: BoundingBox, SurfaceRayIntersections, ModelSurfaceRayIntersections, and SurfaceIntersectionFunction.

BoxGraphic

BoxGraphic[{xmin, ymin, zmin}, {xmax, ymax, zmax}, label, options] specifies a three-dimensional rectangular box with its diagonally opposite corners placed at {xmin, ymin, zmin} and {xmax, ymax, zmax}.
BoxGraphic does not interact with rays in any way, but can be listed with active components or with other graphic components for creating passive three-dimensional shapes. The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression.

BranchingSurface

BranchingSurface[aperture, componentincrement, label, options] refers to a planar component that causes intersecting rays to branch to a different component position relative to the list position held by BranchingSurface.
BranchingSurface is usually employed after a beam-splitter-type component, in order to redirect split rays down a different component-listing pathway, thereby shortening ray-trace calculation times. BranchingSurface is not visually rendered, but can be used to sample the ray/surface positions. BranchingSurface is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it. Because BranchingSurface is not supported by TurboTrace, it now has limited application with the new version of Rayica. As such it is recommended to use the Resonate function instead.
The user-named label parameter is optional and can be omitted. When it is present, its text content is used to identify the object in both the rendered graphics and the output cell expression. When it is omitted, Rayica uses the default setting of the Labels option with the rendered graphics.

BubbleClass

BubbleClass is a database rule name that specifies the bubble class of a material.

BuildComponent

BuildComponent[objectset, options] synthesizes generic traits from several Component objects into a single Component object.
While BuildComponent is usually used by generic building block functions, BuildComponent may also be used as an external function to combine several Component objects into a single Component unit. See also: GroupDescription and AffectedSurfaces.

BundleOfRays

BundleOfRays[seed, {{name, vector}..}, options] is an alias of CustomRays.
See CustomRays for a more complete description.

CalciteE

CalciteE is a default material of BirefringentLensSurface to be defined by DataToRayica later.

CalciteO

CalciteO is a default material of BirefringentLensSurface to be defined by DataToRayica later.

CalibrateEnergy

CalibrateEnergy -> True/False/number indicates whether the relative integrated energy of each reported surface should be calibrated to the energy present at the first surface result of the ray trace.


CalibrateEnergy -> True requires a time-consuming numeric integration of the IntensityFunction. CalibrateEnergy -> False sets the central intensity point to a fixed value determined by IntensityScaleFactor. CalibrateEnergy -> number is uses true when the total number of traced rays per surface is less than the specified number See also: EnergyReference and ReportedSurfaces.

CartesianCoordinates

CartesianCoordinates is a value of the option CoordinateSystem.

CatalogFocalLength

CatalogFocalLength is a database rule name for a lens that specifies the approximate effective focal length as written in the catalog.
The actual effective focal length is given by the FocalLength name. See also: FrontFocalLength, BackFocalLength, and FocalLength.

CatalogInformation

CatalogInformation -> {{database entry},...} is an option of BuildComponent that supplies database information about the characteristics of a manufactured component.


CatalogInformation contains nested lists of rules with labels such as: ComponentName, SerialNumber, Price, Date. Each entry of the outer list represents one component. If no catalog information is available, an empty list is inserted. Otherwise the entry contains a list of lists with each sublist having information of one component database entry.

Centered

Centered is an option of component functions that can have values of True, False, or a number, depending on the particular component function.

In some functions, Centered -> True, specifies that the component is to be centered on the x-axis. In other functions, Centered ->