AbstractThinFilmFilter#
- class optika.materials.AbstractThinFilmFilter[source]#
Bases:
AbstractMultilayerFilmAn interface describing a thin-film filter.
Attributes
flag controlling whether this material reflects or transmits light
The main layer of bulk material comprising this filter.
The oxide layer that lies on either side of the bulk layer.
A sequence of layers representing the multilayer stack.
The mesh backing supporting this thin-film filter.
The array shape of this object.
the coordinate transformation between the global coordinate system and this object's local coordinate system
Methods
__init__()attenuation(rays)the attenuation coefficient of the given rays
efficiency(rays, normal)Compute the efficiency of this multilayer film using
optika.materials.multilayer_efficiency().index_refraction(rays)the index of refraction of this material for the given input rays
plot_layers([width, ax])Plot the multilayer stack using
optika.materials.AbstractLayer.plot().to_string([prefix])Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.Inheritance Diagram

- attenuation(rays)#
the attenuation coefficient of the given rays
- Parameters:
rays (RayVectorArray) – input rays to calculate the attenuation coefficient for
- Return type:
- efficiency(rays, normal)[source]#
Compute the efficiency of this multilayer film using
optika.materials.multilayer_efficiency().- Parameters:
rays (RayVectorArray) – the input rays with which to compute the efficiency of the multilayer film
normal (AbstractCartesian3dVectorArray) – the vector normal to the interface between successive layers
- Return type:
- index_refraction(rays)#
the index of refraction of this material for the given input rays
- Parameters:
rays (RayVectorArray) – input rays used to evaluate the index of refraction
- Return type:
- plot_layers(width=<Quantity 100. nm>, ax=None, **kwargs)#
Plot the multilayer stack using
optika.materials.AbstractLayer.plot().- Parameters:
width (Quantity) – The width of the plotted multilayer stack in physical units.
ax (Axes) – The matplotlib axes on which to plot the multilayer stack.
kwargs – Additional keyword arguments to pass along to
optika.materials.AbstractLayer.plot().
- Return type:
- to_string(prefix=None)#
Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.
- abstract property layer: AbstractLayer#
The main layer of bulk material comprising this filter.
- abstract property layer_oxide: AbstractLayer#
The oxide layer that lies on either side of the bulk layer.
- property layers: list[AbstractLayer]#
A sequence of layers representing the multilayer stack.
- abstract property mesh: AbstractMesh#
The mesh backing supporting this thin-film filter.