Prism Classes#
Prism#
- class Prism(origin, width=1.0, height=1.0, n1=1.0, n2=1.5, angle: float = 1.5707963267948966, reflectivity_leg=0, transmission_leg=1, reflectivity_hyp=0, transmission_hyp=1, **kwargs)[source]#
Bases:
ComponentGroup- __init__(origin, width=1.0, height=1.0, n1=1.0, n2=1.5, angle: float = 1.5707963267948966, reflectivity_leg=0, transmission_leg=1, reflectivity_hyp=0, transmission_hyp=1, **kwargs)[source]#
Isoceles prism with two equal legs of length width and apex angle.
Cross-section (view along z):
|\ | \ leg 1 | \
- hypotenuse |
- /// leg 2
|/
Origin is at the apex (right-angle corner).
- Parameters:
origin (array-like) – Position of the apex corner.
width (float) – Length of each leg.
height (float) – Extent along the z-axis.
n1 (float) – Refractive index outside the prism.
n2 (float) – Refractive index of the prism material.
angle (float) – Full apex angle in radians (default π/2).
reflectivity_leg (float) – Reflectivity of the two leg faces.
transmission_leg (float) – Transmission of the two leg faces.
reflectivity_hyp (float) – Reflectivity of the hypotenuse face.
transmission_hyp (float) – Transmission of the hypotenuse face.
TriangularPrism#
- class TriangularPrism(origin, width=1.0, height=1.0, n1=1.0, n2=1.5, alpha=0.7853981633974483, beta=1.5707963267948966, reflectivity_1=0, reflectivity_2=0, reflectivity_3=0, transmission_1=1, transmission_2=1, transmission_3=1, max_interact_count_2=5, max_interact_count_3=5, **kwargs)[source]#
Bases:
ComponentGroup- __init__(origin, width=1.0, height=1.0, n1=1.0, n2=1.5, alpha=0.7853981633974483, beta=1.5707963267948966, reflectivity_1=0, reflectivity_2=0, reflectivity_3=0, transmission_1=1, transmission_2=1, transmission_3=1, max_interact_count_2=5, max_interact_count_3=5, **kwargs)[source]#
Triangular prism defined by three faces.
Face 1 (entrance) is perpendicular to the x-axis, has length
widthand extentheightalong z. The origin sits at the midpoint of the bottom edge of face 1.Face 2 departs from the top edge of face 1, tilted by angle
alpha(measured from face 1 towards the interior).Face 3 departs from the bottom edge of face 1, tilted by angle
beta(measured from face 1 towards the interior).Cross-section (view along z, beam propagates in +x):
╱│ 2 / │ 1 (width) / │ ╱───┘ 3
- Parameters:
origin (array-like) – Position of the bottom-centre of face 1.
width (float) – Length of face 1 (the entrance face).
height (float) – Extent of every face along the z-axis.
n1 (float) – Refractive index outside the prism.
n2 (float) – Refractive index of the prism material.
alpha (float) – Angle (rad) between face 1 and face 2 (default π/4).
beta (float) – Angle (rad) between face 1 and face 3 (default π/2).
reflectivity_{1 (float) – Reflectivity of each face.
2 (float) – Reflectivity of each face.
3} (int) – Reflectivity of each face.
transmission_{1 (float) – Transmission of each face.
2 – Transmission of each face.
3} – Transmission of each face.
max_interact_count_{2 (int) – Maximum interaction count for faces 2 and 3.
3} – Maximum interaction count for faces 2 and 3.
MirrorPrism#
- class MirrorPrism(origin, width=1.0, height=1.0, angle: float = 1.5707963267948966, reflectivity=1.0, transmission=0.0, **kwargs)[source]#
Bases:
ComponentGroup
MirrorCube#
- class MirrorCube(origin, L=1.0, reflectivity=1.0, **kwargs)[source]#
Bases:
ComponentGroup