rayoptics.oprops.thinlens module
Module for thin lens interface type
- class ThinLens(lbl='', power=0.0, ref_index=1.5, center_wvl=550.0, **kwargs)[source]
Bases:
Interface- property profile_cv
- property optical_power
- intersect(p0, d, **kwargs)[source]
Intersect an
Interface, starting from an arbitrary point.- Parameters:
p0 – start point of the ray in the interface’s coordinate system
d – direction cosine of the ray in the interface’s coordinate system
z_dir – +1 if propagation positive direction, -1 if otherwise
eps – numeric tolerance for convergence of any iterative procedure
- Returns:
distance to intersection point s1, intersection point p
- Return type:
- Raises:
- phase(pt, d_in, normal, ifc_cntxt)[source]
Returns a diffracted ray direction and phase increment.
- Parameters:
pt – point of incidence in
Interfacecoordinatesin_dir – direction cosine of incident ray
srf_nrml –
Interfacesurface normal at ptifc_cntxt –
a tuple containing
z_dir: -1 if after an odd # of reflections, +1 otherwise wl: wavelength in nm for ray, defaults to ref_wl n_in: refractive index preceding the interface n_out: refractive index following the interface interact_mode: ‘transmit’ or ‘reflect’
- Returns:
(out_dir, dW)
out_dir: direction cosine of the out going ray
dW: phase added by diffractive interaction