PerfectLens¶
- class marxs.optics.PerfectLens(**kwargs)[source] [edit on github]¶
Bases:
FlatOpticalElement
This describes an infinitely large lens that focusses all rays exactly.
This lens is just perfect, it has no astigmatism, no absorption, etc. It is computationally cheap and if the details of the mirror are not important to the simulation, a perfect lens might provide an approximation for X-ray focussing. In many cases the
PerfectLens
will be combined with some blur function (e.g. random scatter by 1 arcsec) to achieve a simple approximation to some mirror specification.- Parameters:
- focal_lengthfloat
The focal length of the lens in mm.
- d_center_optical_axisfloat
Distance between the optical axis and the center of this element in mm. The optical axis is located in -z direction, and the normal pos4d keywords should be used to give the size, location, and rotation of this element.
- reflectivity_interpolatorcallable
Callable that accepts energy and reflectivity angle and
grid
as input and returns the probability of single reflection. The calling signature is written to match ascipy.interpolate.RectBivariateSpline
;grid
is set to False to evaluate on a list of points. Default is to always return 1.
Define a new MARXS element.
Attributes Summary
Dictionary for display specifications, e.g. color.
Methods Summary
specific_process_photons
(photons, intersect, ...)Attributes Documentation
- display = {'color': (0.0, 0.5, 0.0), 'opacity': 0.5, 'shape': 'box'}¶
Dictionary for display specifications, e.g. color
- loc_coos_name = ['mirror_x', 'mirror_y']¶
Methods Documentation
- specific_process_photons(photons, intersect, interpos, intercoos)[source] [edit on github]¶