XSPEC12: Object-Oriented X-Ray Analysis
Abstract
XSPEC was designed to be a mission-independent general purpose X-ray data analysis program. In order for XSPEC to keep fulfilling this role well into the 21st Century we have re-implemented its code base in ANSI C++ using object oriented programming techniques. The abstract programming formulation used for XSPEC12 gives considerable advantages for the future. It will be possible to implement new data formats, table model formats, fitting and statistical techniques by loading ``add-in'' modules without the necessity of recompiling existing code. As the first examples, we have written modules that (a) read INTEGRAL/SPI data and responses and (b) implement the CERN/MINUIT optimization library. The new code can also solve problems with source confusion (multiple sources can be modeled and fit from a single spectrum).
As for efficiency, the new code achieves similar performance in double precision arithmetic than XSPEC11 gives in single precision. For the cases of analysis with simple analytical models and large spectral arrays, and time series analyses (multiple spectra with the same response matrices) XSPEC12 should give a considerable speed advantage over previous versions. XSPEC12 will have a very similar, but enhanced, syntax over previous releases. It will continue to support user models in Fortran77, but will also support user models in C and C++. The I/O streams designed for XSPEC12 can support either a command line user interface or, in future, a GUI. Additionally, the plotting interface has been written to be independent of the plotting library: future releases will be able to implement newer user graphics packages. XSPEC12 should be available as an alpha release in the late Spring of 2003. We encourage readers to join the testing program that we will be announcing once the release date has been set.- Publication:
-
AAS/High Energy Astrophysics Division #7
- Pub Date:
- March 2003
- Bibcode:
- 2003HEAD....7.2210D