syned.beamline.shape.Paraboloid

class syned.beamline.shape.Paraboloid(parabola_parameter=0.0, at_infinity=0, pole_to_focus=None, convexity=0)[source]

Constructor.

Paraboloid: Revolution paraboloid (rotation around symmetry axis).

It is defined with three parameters: the parabola_parameter and two more parameters defining the position of the origin of the mirror.

The parabola_parameter = 2 * focal_length = - 0.5 * ccc_9 / ccc_2

The additional parameter can be the focal distances (“p” or “q”, one is infinity), “x0”, “y0” or the grazing angle. Here, we selected the at_infinity and the finite focal distance p or q or distance from the mirror pole to focus (pole to focus).

The parabola equation is:

ccc_2 y^2 + ccc_9 z = 0 or

y^2 = -ccc_9/ccc_2 z = 2 parabola_parameter z = 4 focal_length z

The focus is at (0, 0, focal_length).

The directrix is at (0, 0, -focal_length).

The distance from the directrix to focus is 2 * focal_length.

The radius of curvature at the vertex is 2 * focal_length.

Parameters:
  • parabola_parameter (float, optional) – parabola_parameter = 2 * focal_length = - 0.5 * ccc_9 / ccc_2. Equation: y^2 = 2 parabola_parameter z.

  • at_infinity (int (as defined by Side), optional) – SOURCE = 0, IMAGE = 1.

  • pole_to_focus (float, optional) – The p distance.

  • convexity (int (as defined by Convexity), optional) – NONE = -1, UPWARD = 0, DOWNWARD = 1.

References

https://en.wikipedia.org/wiki/Parabola

https://doi.org/10.1107/S1600577522004593

https://arxiv.org/abs/2406.04079

__init__(parabola_parameter=0.0, at_infinity=0, pole_to_focus=None, convexity=0)[source]

Methods

__init__([parabola_parameter, at_infinity, ...])

create_paraboloid_from_p_q([p, q, ...])

Creates a paraboloid from the factory parameters.

create_paraboloid_from_parabola_parameter([...])

Create a paraboloid.

duplicate()

Returns a copy of the SYNED object instance.

from_hex_tring(hex_string)

get_at_infinity()

Returns the "at_infinity" flag.

get_convexity()

Gets the convexity flag.

get_grazing_angle()

Returns the grazing angle.

get_parabola_parameter()

Returns the parabola parameter.

get_parabola_parameter_from_p_q([p, q, ...])

Calculates the parabola parameter from the factory parameters.

get_pole_to_focus()

Returns the distance from focus to pole.

get_value_from_key_name(key)

Gets a value using its key value.

info()

Get text info of recurrent SYNED objects.

info_recurrent(fd[, prefix])

Get text info of recurrent SYNED objects.

initialize_from_p_q([p, q, grazing_angle, ...])

Sets the paraboloid parameters as calculated from the factory parameters.

keys()

Returns the keys of the supporting doctionary.

set_value_from_key_name(key, value)

Sets a value using its key value.

to_dictionary()

Returns a dictionary with the object fields.

to_full_dictionary()

Returns a dictionary with the object fields, including other syned objects embedded or list of elements.

to_hex_tring()

to_json([file_name])

Writes a json file with the SYNED object data.