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 width and extent height along 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

__init__(origin, width=1.0, height=1.0, angle: float = 1.5707963267948966, reflectivity=1.0, transmission=0.0, **kwargs)[source]#

L=width, H=height,(L,L,sqrt(2)L)x H, origin at right-angle corner

MirrorCube#

class MirrorCube(origin, L=1.0, reflectivity=1.0, **kwargs)[source]#

Bases: ComponentGroup

__init__(origin, L=1.0, reflectivity=1.0, **kwargs)[source]#

Corner cube with the x-axis forming equal angles to all three mirrors.

DovePrism#

class DovePrism(origin, L, D, Ng, **kwargs)[source]#

Bases: ComponentGroup

__init__(origin, L, D, Ng, **kwargs)[source]#

L: length of the base D: height of the prism Ng: refractive index of the prism material

property z0#

the height of rays that will go straight through the prism