optical_layout.beamsplitter

Contents

Syntax

bs = davinci( 'optical_layout.beamsplitter' )
bs = davinci( ___, <GeneralParameterName>, generalparametervalue )
bs = davinci( ___, <StyleParameterName>, styleparametervalue )

Description

Assemble parameters to specify a beamsplitter, but do not draw anything. Return the assembled parameters as an object of class @davinci_optical_layout.

In the illustrations below, the red dot indicates where the "gut ray" stikes the beamsplitter, and the b-c coordinate origin marks the physical center of the beamsplitter. When the beam is collimated, these two points coincide with each other. When the beam is converging or diverging, and the beamsplitter is tilted, the two points do not coincide with each other.

The graphics handle for the object, a Matlab line object, is returned by davinci('optical_layout',...) as h.beamsplitter.

General Parameters

Parameter Default Comments
DrawFlag true Logical true or false. If false the beamsplitter is not drawn. Though not drawn, the beamsplitter still performs its transmission and reflection actions on the beam rays.
Height See "Comments". The height of the beamsplitter, in data units. See the illustrations above. When the beamsplitter is at a beam focus, the user must specify a value for Height. In all other cases specifying a value for Height is optional. When not specified, Height defaults to HeightOversizeFactor times the ReferenceDistance, where ReferenceDistance is the distance between the two points on the beamsplitter where the rays strike (see diagrams above). The ReferenceDistance is not specified by the user, but rather is calculated internally by davinci().
HeightOversizeFactor 2.0 See the comments for the Height parameter.
Name '' The name of the beamsplitter. Must be a char vector or '' (an empty char array). See the documentation for optical_layout's overloaded ":" operator for more detail of how names work.

Style Parameters

The table below lists the parameters used to specify how the beamsplitter should be drawn.

Parameter Default Comments
Color 'k' The Color property of the Matlab line object.
LineStyle '-' The LineStyle property of the Matlab line object.
LineWidth 0.5 The LineWidth property of the Matlab line object.

AttachDataForRetrievalByOutsideCode

When the AttachDataForRetrievalByOutsideCode parameter for the optical_layout shape is set to true, the beamsplitter data that is attached includes that listed in the table below.

Parameter Name Description
nameThe name, if any, assigned to the beamsplitter. Stored as a char vector. Equal to '' (an empty char array) if no name is specified.
typeThe char vector 'beamsplitter'.
positionThe position, in davinci()'s global x-y coordinate system, of the center of the beamsplitter. This position corresponds to the origin of the b-c coordinate system illustrated in the figures above. A 1x2 vector of type double.
axis_bThe unit vector "b" parallel to the beamsplitter, as indicated in the figures above. To an observer riding on the beam and looking forward as the beam approaches the beamsplitter, the unit vector points toward the left side of the beamsplitter. The vector is specified in davinci()'s global x-y coordinate system. A 1x2 vector of type double.
axis_cThe unit vector "c" normal to the beamsplitter, as indicated in the figures above. To an observer riding on the beam and looking forward as the beam approaches the beamsplitter, the unit vector points towards the half-space in which the observer is located. The vector is specified in davinci()'s global x-y coordinate system. A 1x2 vector of type double.
heightThe height of the beamsplitter, labeled Height in the figures above. A scalar of type double.

Examples

Examples are given in the documentation for the optical_layout component.

Copyright 2016-2017, Leonard R. Wayne, Washington, District of Columbia, United States of America. ALL RIGHTS RESERVED.