MarxMirror

class marxs.optics.MarxMirror(parfile, **kwargs)[source] [edit on github]

Bases: OpticalElement, BaseAperture

Interface to MARX mirror module

This class provides an interface to the MARX mirror module. It requires both the MARX source code and compiled MARX binaries as explained in the Installation instructions for MARXS When this model is initialized, it requires the path and filename to a MARX setup file.

The default geometry is such that the focal point is at the origin of the coordinate system and the optical axis is along the x-axis, such that photons travel from +infinity towards the origin.

A MarxMirror object does not only act as a mirror, it fulfills the function of an aperture at the same time, no further aperture class should be used in the same simulation.

The model reads the relevant MARX mirror model parameters from that file; in this way it supports all mirror models that the traditional MARX version implements, most notable the “HRMA” and “IXO” mirrors. Details on the “HRMA” mirror (which is used to simulate Chandra) can be found at http://space.mit.edu/ASC/marx/indetail/hardwaremodel.html#hrma-model . The “IXO” mirror model is a simplified version with some generalizations that works very similar in general, but is not documented because (from a MARX standpoint) it is only meant for developers.

Parameters:
parfilestring

Path and filename of a MARX parameter file that sets all MARX parameters for the mirror model.

Define a new MARXS element.

Attributes Summary

area

Area of the aperture.

Methods Summary

__call__(photons_in[, verbose])

Call self as a function.

Attributes Documentation

area

Area of the aperture.

This does not take into account any projection effects for apertures that are not perpendicular to the optical axis.

Methods Documentation

__call__(photons_in, verbose=0)[source] [edit on github]

Call self as a function.