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
Methods
__init__([parabola_parameter, at_infinity, ...])create_paraboloid_from_p_q([p, q, ...])Creates a paraboloid from the factory parameters.
Create a paraboloid.
duplicate()Returns a copy of the SYNED object instance.
from_hex_tring(hex_string)Returns the "at_infinity" flag.
get_convexity()Gets the convexity flag.
Returns the grazing angle.
Returns the parabola parameter.
get_parabola_parameter_from_p_q([p, q, ...])Calculates the parabola parameter from the factory parameters.
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.