pyoptools.raytrace.surface.plane_mask module

Module that defines a reflective plane phase mask surface class

class pyoptools.raytrace.surface.plane_mask.RPPMask

Bases: pyoptools.raytrace.surface.surface.Surface

Class to define a reflective plane phase mask.

Description:

RPPMask is a class to define diffractive plane surfaces. If reflectivity is 1 the gratting is reflective, if it is 0 the gratting is transmissive. If it is between 0 and 1, both transmitted and reflected diffracted rays are shown.

The surface shape is given by the shape attribute

The phm attribute is a poly2d instance, that contains the polinomial describing the phase modulation of the gratting. The X and Y input values of the polynomial are in microns.

Example

>>> g=RPPMask(shape=Rectangular(size=(10,10)), phm=poly2d([0,2*pi/15.,0]),M=[1])

This is a 10 mm x 10 mm linear gratting that has a fringe each 15 microns

M
normal()

Method that returns the normal to the surface

phm
phx
phy
propagate()

Method that calculates the propagation of a ray through a diffraction gratting.

This method uses all the units in millimeters

topo()

Method that returns the topography of the surface

The matrix returned is z=f(x,y). This method mus be overloaded in all subclasses of Surface.