The Problem Domain (Model)
Redesign Home Design Problem Scripting Compatibility
Fitting

Plotting

Data

Modeling

CCfits


There are four major elements to the problem domain in XSPEC12.

  • The Data implementation processes objects involving spectral data, background files, correction files, and responses. The implementation allows for future extensions of the data format
  • The Model implementation defines and manipulates theoretical models, both analytic and interpolated from tables. The program design supports models written in single or double precision fortran, C, or C++. A new implementation facilitates user development of local models
  • The Fitting implementation collects Model and Data generated objects and selects what is necessary to perform a fit. Minimization algorithms and objective functions are called to produce fits. New algorithms and statistics can be added to the program by users at run time.
  • The Plotting implementation collects Model and Data generated objects to produce plots. The design allows improved graphical packages to be implemented by the XSPEC development team without disturbing the rest of the code.

Consistent with the modular design philosophy is another component, CCfits. CCfits is a class library that addresses the problem of encapsulating calls to read and write FITS files. Originally written only to support FITS I/O within XSPEC12 it was later decided to release CCfits as a standalone package for use by C++ programmers accessing FITS data, extending the XSPEC12 development cycle by about 6 months in the process!

Of the problem domain elements, the modules representing Data are the most fundamental. The Fit and Plotting modules are somewhat higher level in the sense that Data and Model do not depend on them (The Response classes currently have a weak dependence on Model through the need to represent convolution operations). More importantly, perhaps, is the fact that none of the models depend at all on XSPEC's command language or user interface, so they can in principle be reused by another program that needs, say similar data representations.

[Redesign Home]
[Design]
[Problem]
[Scripting]
[Compatibility]

Xspec Xspec Home Page


HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Wednesday, 02-Mar-2011 11:10:47 EST