Skip to content

Classes and Terminology

Jacob Myers edited this page May 29, 2026 · 1 revision

PyOpticL Classes and Terminology

Object

An instance of the layout class or any of its subclasses (components, beams, etc.).

Layout

A layout is the base class of most objects in PyOpticL. Simply, a layout is a grouping of objects. All objects within the layout are positioned relative to the layouts origin.

Component

A subclass of layout. This is a layout with it's own physical geometry, drilling, and optical properties. These aspects of the component are defined by instantiating it with a component definition.

Component Definition

A component definition is an abstract class which allows for the definition of various properties of a component:

  • Geometry: Mesh or part based
  • Drilling: Pre-defined drilling for part placement / mounting
  • Subcomponents: Pre-defined components grouped with the parent component
  • Interfaces: Definitions of the optical properties of the component

Interface

An abstract representation of an optical interface. This can be used to represent optical interactions such as reflection, refraction, thin lenses, and beyond. Any number of interfaces along with their positioning and properties can be defined with a component definition.

Beam Path

A subclass of layout. This object allows for simulation of a gaussian beam propagating through the layout. It supports focusing, polarization, wavelength, and power tracking all dictated by the interface parameters within the layout. It also overrides the add function of the layout class to allow for objects to be placed along the beam. This allows simple layout design via specifying only the rotation of the component and the distance from the last component.

Clone this wiki locally