Refractive Surface Classes#
BaseRefraciveSurface#
- class BaseRefraciveSurface(origin, n1: float | Material = 1.0, n2: float | Material = 1.0, reflectivity: float = 0.0, transmission: float = 1.0, **kwargs)[source]#
Bases:
OpticalComponentBase interface between two refractive media.
- __init__(origin, n1: float | Material = 1.0, n2: float | Material = 1.0, reflectivity: float = 0.0, transmission: float = 1.0, **kwargs)[source]#
- Parameters:
origin – Component origin in lab coordinates.
n1 – Refractive index for local
x > 0side.n2 – Refractive index for local
x < 0side.reflectivity – Additional reflected branch coefficient.
transmission – Transmitted branch coefficient.
**kwargs – Optional
surfaceoverride and rendering options.
- interact_local(ray)[source]#
Apply Snell refraction and optional reflection in local frame.
The method determines incident side from the local surface normal, computes transmitted direction using Snell’s law, handles total internal reflection, and updates Gaussian beam
qwith ABCD matrices when available.