ACIS

class marxs.missions.chandra.ACIS(chips, **kwargs)[source] [edit on github]

Bases: Parallel

The ACIS instrument

Missing:

  • This currently only implements the ideal detection, no PHA, no read-out streaks, no pile-up etc.

  • contamination

Define a new MARXS element.

Attributes Summary

OLSI

Origin of the LSI in SST coordinates.

id_col

String that names an id column for output.

Methods Summary

calculate_elempos()

get_corners()

Get the coordinates of the ACIS pixel corners.

process_photons(photons, *args, **kwargs)

Attributes Documentation

OLSI = array([  0.684,   0.75 , 236.552])

Origin of the LSI in SST coordinates.

Numbers are taken for the Chandra coordinate memo I at http://cxc.harvard.edu/contrib/jcm/ncoords.ps

id_col = 'CCD_ID'

String that names an id column for output.

Set this to a string to add an automatic numbering to the output. This is especially useful if there are several identical optical components that are used in parallel, e.g. there are four identical CCDs. Setting id_col = "CCD_ID" and passing an id_num=1, 2, 3, 4 keyword respectively to each CCD will add a column CCD_ID with a value of 1,2,3, or 4 for each photon hitting one of those CCDs.

Currently, this will not work with all optical elements.

Methods Documentation

calculate_elempos()[source] [edit on github]
get_corners()[source] [edit on github]

Get the coordinates of the ACIS pixel corners.

Currently, this method reads the datafile included with MARX, but alternatively if could also get this information from CALDB. It is very unlikely that the coordinates will ever change, so either location will work.

Returns:
outlist

List of dictionaries with entries ‘LL’, ‘LR’, ‘UR’, and ‘UL’. The values of the entries are 3d coordinates of the chip corner in LSI coordinates. There is one dictionary per ACIS chip.

process_photons(photons, *args, **kwargs)[source] [edit on github]