MultiAperture

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

Bases: BaseAperture, BaseContainer

Group several apertures into one class.

Sometimes a single intrument has several physical openings where photons from an astrophysical source can enter, an example is XMM-Newton that operates three telescopes in parallel. While it is often more efficient to simulate these as entirely separate by running separate simulations, that is not always true. This class groups several apertures together.

Warning

Apertures cannot overlap. There is currently no code checking for this, but overlapping apertures will produce unphysical results.

Parameters:
elementslist

The elements of this list are all optical elements that process photons.

preprocess_stepslist

The elements of this list are functions or callable objects that accept a photon list as input and return no output (default: []). All preprocess_steps are run before every aperture on just the photons that pass this aperture.

postprocess_stepslist

See preprocess_steps except that the steps are run after each aperture (default: []) on just the photons that passed that aperture.

Define a new MARXS element.

Attributes Summary

area

Area covered by the aperture

display

Dictionary for display specifications, e.g. color.

Methods Summary

__call__(photons)

Call self as a function.

Attributes Documentation

area

Area covered by the aperture

display = {'shape': 'container'}

Dictionary for display specifications, e.g. color

Methods Documentation

__call__(photons)[source] [edit on github]

Call self as a function.