syned.beamline.shape.Hyperboloid
- class syned.beamline.shape.Hyperboloid(min_axis=0.0, maj_axis=0.0, p_focus=0.0, convexity=0)[source]
Constructor.
Hyperboloid: Revolution hyperboloid (two sheets: rotation around major axis). It is defined with three parameters: axes of the hyperbola and an additional parameter defining the position of the origin of the mirror. This additional parameter can be “p”, “x0”, “y0” or the angle beta from the ellipsoid center (tan(beta)=y0/x0). For simplicity, we store “p” in syned.
- Parameters:
min_axis (float, optional) – the hyperbola minor axis.
maj_axis (float, optional) – the hyperbola major axis.
p_focus (float, optional) – the distance from the first focus (source position) to the mirror pole.
convexity (int (as defined by Convexity), optional) – NONE = -1, UPWARD = 0, DOWNWARD = 1.
References
Some equations can be found here: https://github.com/srio/shadow3-docs/blob/master/doc/conics.pdf
Methods
__init__([min_axis, maj_axis, p_focus, ...])create_hyperboloid_from_axes([min_axis, ...])Creates an hyperboloid from main parameters.
create_hyperboloid_from_p_q([p, q, ...])Creates an hyperboloid from factory parameters.
duplicate()Returns a copy of the SYNED object instance.
from_hex_tring(hex_string)get_a()Returns a = half of the major axis.
get_axes()Returns the hyperboloid axes.
get_axis_from_p_q([p, q, grazing_angle, ...])Calculates the hyperbola axes from the factory parameters.
get_b()Returns b = half of the minor axis.
get_c()Returns c = sqrt(a^2 + b^2).
get_convexity()Gets the convexity flag.
returns the eccentricity e = c / a.
Returns the grazing angle.
Returns the coordinates of the mirror pole or center.
Returns p (=p_focus).
get_p_q([grazing_angle])Returns p and q for a given grazing angle.
get_p_q_from_axis([min_axis, maj_axis, ...])Calculates the p and q values from axis and grazing angle.
Returns q.
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 hyperboloid 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.