Beams
As mentioned in the Rays section, a beam within the context of this package serves as a data structure for storing collections of rays, forming the backbone of the simulation framework. A beam splits into child beams, e.g. at a beamsplitter, and solve_system! traces it together with all its children. Browse the catalog below, or refer to the table of contents for detailed documentation of the provided beam types and sources.
Beam catalog
Beams, beamlets and beam groups are traced through a bi-convex lens onto a detector near its focus.
Beam overview
Beam models
The beamlets are traced as several Beams of rays side by side:
A beamlet stops when its rays hit different shapes, when only some of its rays hit anything (a partly clipped beamlet), when the interact3d method of the object returns nothing, or when its invariant check fails. The tracing loop and the interface of a beam type are described in Tracing a beamlet and Beam interface.
Moving beams
Rays, beams and beam groups can be moved with the same kinematic API as optical elements, see Moving sources in the Kinematics section.
















