pysrw.lib.srwlib.SRWLOptZP

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]

get_F(_e)[source]#

Estimate focal length