shadow4.beamline.s4_optical_element_decorators

Defines the functionality for shadow4 optical elements.

Map:

S4OpticalElementDecorator—–

|—–S4PlaneOpticalElementDecorator |—–S4CurvedOpticalElementDecorator—

|—– S4SphereOpticalElementDecorator |—– S4EllipsoidOpticalElementDecorator |—– S4HyperboloidOpticalElementDecorator |—– S4ToroidOpticalElementDecorator |—– S4ParaboloidOpticalElementDecorator |—– S4ConicOpticalElementDecorator |—– S4NumericalMeshOpticalElementDecorator |—– S4RefractiveLensOpticalElementDecorator

Basically it adds some methods:

  • get_info: to be overloaded with specific info for a particular optical element.

  • to_python_code: to be overloaded to create the python code for the specifoc optical element.

  • get_surface_shape_instance: returns the SYNED shape instance.

  • get_optical_surface_instance: returns the S4 optical surface instance.

Classes

S4ConicOpticalElementDecorator([...])

S4CurvedOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for a curved surface.

S4EllipsoidOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for an Ellipsoid surface.

S4HyperboloidOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for an Hyperboloid surface.

S4NumericalMeshOpticalElementDecorator([xx, ...])

Creates the shadow4 optical element decorator for a Mesh surface.

S4OpticalElementDecorator()

Base abstract class.

S4ParaboloidOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for an Paraboloid surface.

S4PlaneOpticalElementDecorator()

Creates the shadow4 optical element decorator for a plane surface.

S4RefractiveLensOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for a Refractive lens.

S4SphereOpticalElementDecorator([...])

S4ToroidOpticalElementDecorator([...])

Creates the shadow4 optical element decorator for an Toroid surface.

SurfaceCalculation()

class supporting the flag for external or internal calculation: