srxraylib.profiles.benders package

Submodules

srxraylib.profiles.benders.bender_io module

I/O utilities for mirror bender profiles.

class srxraylib.profiles.benders.bender_io.BenderFitParameters(optimized_length=None, n_fit_steps=None)[source]

Bases: object

class srxraylib.profiles.benders.bender_io.BenderMovement(position_upstream=None, position_downstream=None)[source]

Bases: object

property position_downstream
property position_upstream
class srxraylib.profiles.benders.bender_io.BenderOuputData(x=None, y=None, ideal_profile=None, bender_profile=None, correction_profile=None, titles=None, z_bender_correction=None, z_figure_error=None, z_bender_correction_no_figure_error=None)[source]

Bases: object

class srxraylib.profiles.benders.bender_io.BenderStructuralParameters(dim_x_minus=None, dim_x_plus=None, bender_bin_x=None, dim_y_minus=None, dim_y_plus=None, bender_bin_y=None, p=None, q=None, grazing_angle=None, E=None, h=None, figure_error_mesh=None, workspace_units_to_m=None, workspace_units_to_mm=None)[source]

Bases: object

srxraylib.profiles.benders.bender_manager module

Base class for mirror bender managers.

class srxraylib.profiles.benders.bender_manager.AbstractBenderManager(bender_structural_parameters: BenderStructuralParameters)[source]

Bases: object

property bender_structural_parameters
calculate_ideal_surface(q=None, sign=-1)[source]
fit_bender_at_focus_position(bender_fit_parameters: BenderFitParameters) BenderOuputData[source]
get_bender_shape_from_movement(bender_movement: BenderMovement) BenderOuputData[source]
get_conic_coefficients(q=None)[source]
get_q_downstream(bender_movement: BenderMovement)[source]
get_q_ideal_surface(bender_movement: BenderMovement)[source]
get_q_upstream(bender_movement: BenderMovement)[source]
class srxraylib.profiles.benders.bender_manager.CalibratedBenderManager(bender_structural_parameters: BenderStructuralParameters, calibration_parameters: CalibrationParameters)[source]

Bases: AbstractBenderManager

get_q_downstream(bender_movement: BenderMovement)[source]
get_q_upstream(bender_movement: BenderMovement)[source]
class srxraylib.profiles.benders.bender_manager.CalibrationParameters(parameters_upstream, parameters_downstream)[source]

Bases: object

property downstream
property upstream
class srxraylib.profiles.benders.bender_manager.StandardBenderManager(bender_structural_parameters: BenderStructuralParameters)[source]

Bases: AbstractBenderManager

get_q_downstream(bender_movement: BenderMovement)[source]
get_q_upstream(bender_movement: BenderMovement)[source]
srxraylib.profiles.benders.bender_manager.get_significant_digits(number)[source]

srxraylib.profiles.benders.fixed_rods_bender_manager module

Bender manager for fixed-rod mirror bender systems.

class srxraylib.profiles.benders.fixed_rods_bender_manager.FixedRodsBenderFitParameters(optimized_length=None, n_fit_steps=None, R0=None, R0_max=None, R0_min=None, R0_fixed=False, eta=None, eta_max=None, eta_min=None, eta_fixed=False, W2=None, W2_max=None, W2_min=None, W2_fixed=False)[source]

Bases: BenderFitParameters

class srxraylib.profiles.benders.fixed_rods_bender_manager.FixedRodsBenderOuputData(x=None, y=None, ideal_profile=None, bender_profile=None, correction_profile=None, titles=None, z_bender_correction=None, z_figure_error=None, z_bender_correction_no_figure_error=None, R0_out=None, eta_out=None, W2_out=None, alpha=None, W0=None, F_upstream=None, F_downstream=None)[source]

Bases: BenderOuputData

class srxraylib.profiles.benders.fixed_rods_bender_manager.FixedRodsBenderStructuralParameters(dim_x_minus=None, dim_x_plus=None, bender_bin_x=None, dim_y_minus=None, dim_y_plus=None, bender_bin_y=None, p=None, q=None, grazing_angle=None, E=None, h=None, figure_error_mesh=None, r=None, l=None, R0=None, eta=None, W2=None, workspace_units_to_m=None, workspace_units_to_mm=None)[source]

Bases: BenderStructuralParameters

class srxraylib.profiles.benders.fixed_rods_bender_manager.FixedRodsCalibratedBenderManager(bender_structural_parameters: FixedRodsBenderStructuralParameters, calibration_parameters: CalibrationParameters)[source]

Bases: CalibratedBenderManager

fit_bender_at_focus_position(bender_fit_parameters: FixedRodsBenderFitParameters) FixedRodsBenderOuputData[source]
get_bender_shape_from_movement(bender_movement: BenderMovement) FixedRodsBenderOuputData[source]
class srxraylib.profiles.benders.fixed_rods_bender_manager.FixedRodsStandardBenderManager(bender_structural_parameters: FixedRodsBenderStructuralParameters)[source]

Bases: StandardBenderManager

fit_bender_at_focus_position(bender_fit_parameters: FixedRodsBenderFitParameters) FixedRodsBenderOuputData[source]
get_bender_shape_from_movement(bender_movement: BenderMovement) FixedRodsBenderOuputData[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.bender_height_profile(y, p, q, grazing_angle, R0, eta, alpha)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.bender_slope_profile(y, p, q, grazing_angle, W1, L, R0, eta, W2)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.calculate_W0(W1, alpha, L, p, q, grazing_angle)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.calculate_bender_forces(q, R0, eta, E, W0, L, h, r)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.calculate_bender_slope_variation(y, fprime_, K0, eta, alpha)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.calculate_ideal_slope_variation(y, fprime, K0id, mu, nu)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.calculate_taper_factor(W1, W2, L, p, q, grazing_angle)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.demagnification_factor(p, q)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.focal_distance(p, q)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.focal_distance_prime(p, q, grazing_angle)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.ideal_height_profile(y, p, q, grazing_angle)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.ideal_slope_profile(y, p, q, grazing_angle)[source]
srxraylib.profiles.benders.fixed_rods_bender_manager.mu_nu(m)[source]

srxraylib.profiles.benders.flexural_hinge_bender_manager module

Bender manager for flexural-hinge mirror bender systems.

class srxraylib.profiles.benders.flexural_hinge_bender_manager.BenderType[source]

Bases: object

DOUBLE_MOMENTUM = 1
SINGLE_MOMENTUM = 0
class srxraylib.profiles.benders.flexural_hinge_bender_manager.FlexuralHingeBenderFitParameters(optimized_length=None, n_fit_steps=None, M1=None, M1_min=None, M1_max=None, M1_fixed=False, e=None, e_min=None, e_max=None, e_fixed=False, ratio=None, ratio_min=None, ratio_max=None, ratio_fixed=False)[source]

Bases: BenderFitParameters

class srxraylib.profiles.benders.flexural_hinge_bender_manager.FlexuralHingeBenderOuputData(x=None, y=None, ideal_profile=None, bender_profile=None, correction_profile=None, titles=None, z_bender_correction=None, z_figure_error=None, z_bender_correction_no_figure_error=None, M1_out=None, e_out=None, ratio_out=None)[source]

Bases: BenderOuputData

class srxraylib.profiles.benders.flexural_hinge_bender_manager.FlexuralHingeBenderStructuralParameters(dim_x_minus=None, dim_x_plus=None, bender_bin_x=None, dim_y_minus=None, dim_y_plus=None, bender_bin_y=None, p=None, q=None, grazing_angle=None, E=None, h=None, figure_error_mesh=None, shape=None, bender_type=None, M1=None, e=None, ratio=None, workspace_units_to_m=None, workspace_units_to_mm=None)[source]

Bases: BenderStructuralParameters

class srxraylib.profiles.benders.flexural_hinge_bender_manager.FlexuralHingeCalibratedBenderManager(bender_structural_parameters: FlexuralHingeBenderStructuralParameters, calibration_parameters: CalibrationParameters)[source]

Bases: CalibratedBenderManager

fit_bender_at_focus_position(bender_fit_parameters: FlexuralHingeBenderFitParameters) FlexuralHingeBenderOuputData[source]
get_bender_shape_from_movement(bender_movement: BenderMovement) FlexuralHingeBenderOuputData[source]
class srxraylib.profiles.benders.flexural_hinge_bender_manager.FlexuralHingeStandardBenderManager(bender_structural_parameters: FlexuralHingeBenderStructuralParameters)[source]

Bases: StandardBenderManager

fit_bender_at_focus_position(bender_fit_parameters: FlexuralHingeBenderFitParameters) FlexuralHingeBenderOuputData[source]
get_bender_shape_from_movement(bender_movement: BenderMovement) FlexuralHingeBenderOuputData[source]
class srxraylib.profiles.benders.flexural_hinge_bender_manager.MirrorShape[source]

Bases: object

RECTANGLE = 1
TRAPEZIUM = 0

Module contents