Source code for syned.beamline.optical_elements.refractors.interface

from syned.beamline.shape import SurfaceShape
from syned.beamline.optical_element_with_surface_shape import OpticalElementsWithSurfaceShape

[docs]class Interface(OpticalElementsWithSurfaceShape): def __init__(self, name="Undefined", surface_shape=SurfaceShape(), boundary_shape=None, material_object=None, material_image=None,): """ Defines an interface (a surface with different materials in side 1 and side 2). Parameters ---------- name : str, optional The name of the optical element. surface_shape : instance of SurfaceShape, optional The geometry of the crystal surface. if None, it is initialized to SurfaceShape(). boundary_shape : instance of BoundaryShape, optional The geometry of the slit aperture. if None, it is initialized to BoundaryShape(). material_object : str, optional The material in side 1 (object side). material_image : str, optional The material in side 2 (object image). """ super().__init__(name, surface_shape, boundary_shape) self._material_object = material_object self._material_image = material_image # support text containg name of variable, help text and unit. Will be stored in self._support_dictionary self._set_support_text([ ("name", "Name" , "" ), ("surface_shape", "Surface shape", "" ), ("boundary_shape", "Boundary shape", "" ), ("material_object", "Material in object side (element, compound, name or refraction index)", "" ), ("material_image", "Material in image side (element, compound, name or refraction index)", ""), ] )
[docs] def get_material_object(self): """ Returns the material of side 1 (object). Returns ------- str """ return self._material_object
[docs] def get_material_image(self): """ Returns the material of side 2 (image). Returns ------- str """ return self._material_image