[Last Change: 09 Oct 2020 (rev 14) — Page History]

Raytracing Chandra with SAOTrace


SAOTrace is a suite of software which simulates the propagation of photons from an astrophysical source through the optics. You will use the trace-nest command to run raytraces.

To produce an end-to-end simulation of an observation you will also need to simulate the interaction of the photons with a detector. You can use either the CIAO psf_project_ray command or MARX . A tutorial on using SAOTrace output with MARX is available in the ChaRT Threads.


Please contact opticsoft@head.cfa.harvard.edu for all support issues.
This software is not CXC Data Systems software and is not supported in any fashion by them.
Please do not contact the CXC Helpdesk if you have problems.

Before the first raytrace

Prior to your first raytrace you must
  1. Install SAOTrace
  2. Install a Chandra Optics configuration. (Note that some installation methods will install the configuration data for you).

Before a raytrace session

Before you begin a raytrace session, you must first set up your environment and default parameters.


trace-nest takes a number of parameters (full, incomprehensible documentation is hereRead more).

The following are the actual parameters of interest (the other notable parameters were set when you set the default parameters):

name type description
tag string A prefix to be used on all files created.
srcpars string Source parameters. They may be in a file (which must have the extension .lua), in which case this parameter is the filename. See hereRead more for more information on how to specify source parameters.
seed1 integer The random number seed. trace-nest uses stochastic processes during its operation; the seed1 parameter is used to specify the seed for the random number generator. If you wish to simulate multiple realizations of the same observation, you must change seed1 for each realization.
tstart float The starting time (in seconds) of the observation. If dither is simulated using a Chandra aspect solution file, this must be within the time range of the aspect solution data.
limit float The numerical value of the limit at which to stop generating rays at the telescope entrance aperture. See hereRead more for more information. If this is in units of time and dither is simulated using a Chandra aspect solution file, the final stop time, tstart + limit, must be within the time range of the aspect solution data.
limit_type string The units of the limit at which to stop generating rays. See hereRead more for more information.
throttle integer If non-zero, this specifies the number of photons which should be output provided enough were generated. Rays are first eliminated based upon their probability of reflection, and then only the requested number are passed through. If negative, rays will be eliminated by their probability of reflection, but no total limit to their number will be set. If this option is non-zero all rays will have a weight of one. See hereRead more for more information.

How to raytrace ...

This page is maintained by the CXC Optics Group
CXC logo

The Chandra X-Ray Center (CXC) is operated for NASA by the Smithsonian Astrophysical Observatory. 60 Garden Street, Cambridge, MA 02138 USA.   Email: cxcweb@head.cfa.harvard.edu Smithsonian Institution, Copyright © 1998-2013. All rights reserved.