RandomGaussianScatter

class marxs.optics.RandomGaussianScatter(**kwargs)[source] [edit on github]

Bases: FlatOpticalElement

Add scatter to any sort of radial mirror.

This element scatters rays by a small angle, drawn from a Gaussian distribution. The direction of the scatter is random.

Parameters:
scatterastropy.Quantitiy or callable

This this is a number, scattering angles will be drawn from a Gaussian with the given sigma. For a variable scatter, this can be a function with the following call signature: angle = func(photons, intersect, interpos, intercoos). The function should return an astropy.Quantity array, containing one angle for each intersecting photon. A function passed in for this parameter can makes the scattering time, location, or energy-dependent.

Define a new MARXS element.

Attributes Summary

scattername

Methods Summary

specific_process_photons(photons, intersect, ...)

Attributes Documentation

scattername = 'scatter'

Methods Documentation

specific_process_photons(photons, intersect, interpos, intercoos)[source] [edit on github]