Since its inception in 1983 XSPEC has continued to be a mission independent general
purpose analysis environment for X-Ray spectra. The decision was made in 1998 to re-engineer it using methods of modern
computer science in order for it to be able to continue fulfilling that role.
The program's internal design, layout, and data structures have largely been rewritten in ANSI C++ using object oriented design techniques, generic programming techniques, and design patterns.
The new program offers greatly enhanced maintainability and flexibility, new science capabilities, and a superset of the
XSPEC11 syntax (with the exception of features that were declared to be deprecated in XSPEC10 or
before).
At the same time, the core of XSPEC's calculations have been retained. The models library,written almost exclusively in
fortran77, has been incorporated intact as has the default numerical fitting algorithm (an implementation of
Levenberg-Marquadt).
This site explains some of the design details, exhibits the new static internal structure of the code (class diagrams), the
new science capabilites and describes the new extensibility. We also point to the possibilities for
future development.
Please send comments, questions, and bug reports to
xspec12@athena.gsfc.nasa.gov
|