pysrw.lib.srwlib.SRWLOptZP#
- class pysrw.lib.srwlib.SRWLOptZP(_nZones=100, _rn=0.0001, _thick=1e-05, _delta1=1e-06, _atLen1=0.1, _delta2=0, _atLen2=1e-06, _x=0, _y=0, _e=0)[source]#
Bases:
SRWLOpt
Optical Element: Thin Lens
- __init__(_nZones=100, _rn=0.0001, _thick=1e-05, _delta1=1e-06, _atLen1=0.1, _delta2=0, _atLen2=1e-06, _x=0, _y=0, _e=0)[source]#
- Parameters:
_nZones – total number of zones
_rn – auter zone radius [m]
_thick – thickness [m]
_delta1 – refractuve index decrement of the “main” material
_atLen1 – attenuation length [m] of the “main” material
_delta2 – refractuve index decrement of the “complementary” material
_atLen2 – attenuation length [m] of the “complementary” material
_x – horizontal transverse coordinate of center [m]
_y – vertical transverse coordinates of center [m]
_e – average photon energy [eV], active if > 0, to be used for calculation corrections to zone radii
Methods
__init__
([_nZones, _rn, _thick, _delta1, ...])- param _nZones:
total number of zones
get_F
(_e)Estimate focal length
get_orient
([_e])randomize
()Randomizes parameters of optical element according to self.RandParam to simulate e.g. impact of vibrations on coherence (in P-C calculations).
set_rand_par
(_rand_par)Sets list of params to be eventually randomized in some types of calculations :param _rand_par: list of params to be randomized; each element of this list should be: ['param_name', val_avg, val_range, meth]