wofryimpl.beamline.optical_elements.util.s4_conic
S4Conic — conic-section optical surface (sphere, ellipsoid, paraboloid, hyperboloid, plane) for wofryimpl mirrors.
Classes
|
- class wofryimpl.beamline.optical_elements.util.s4_conic.S4Conic(ccc=array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]))[source]
-
- classmethod calculate_ellipsoid_parameters_from_focal_distances(ssour, simag, theta_grazing, verbose=True)[source]
- height(y=0, x=0, return_solution=0)[source]
Compute the surface height z for given transverse coordinates.
- Parameters:
y (float or array_like) – Coordinate along the tangential (length) axis [m]. Must be homogeneous with
x(both scalars, both vectors, or one scalar and the other a vector).x (float or array_like) – Coordinate along the sagittal (width) axis [m].
return_solution (int, optional) –
Which root of the conic equation to return:
0 (default) — the root closest to zero at the pole.
1 — first root (positive sign).
2 — second root (negative sign).
- Returns:
Surface height z(x, y) [m].
- Return type:
float or numpy.ndarray
- info()[source]
Return a human-readable summary of the conic coefficients.
- Returns:
Multi-line string showing the ten conic equation coefficients.
- Return type:
str
- classmethod initialize_as_ellipsoid_from_focal_distances(p, q, theta1, cylindrical=0, cylangle=0.0, switch_convexity=0)[source]
- classmethod initialize_as_hyperboloid_from_focal_distances(p, q, theta1, cylindrical=0, cylangle=0.0, switch_convexity=0)[source]
- classmethod initialize_as_paraboloid_from_focal_distances(p, q, theta1, cylindrical=0, cylangle=0.0, switch_convexity=0)[source]
- classmethod initialize_as_sphere_from_curvature_radius(radius, cylindrical=0, cylangle=0.0, switch_convexity=0)[source]
- classmethod initialize_as_sphere_from_focal_distances(p, q, theta1, cylindrical=0, cylangle=0.0, switch_convexity=0)[source]