The primary motivation for embedding an interpreter such as
S-Lang into CIAO is to provide the user with the means to
extend the software in ways that were not anticipated by the
designers. Modules extend this capability to libraries by
providing access to libraries via the scripting language. A
module is a shared object that is dynamically linked into a
S-Lang application during runtime via the import statement.
There are a number of S-Lang modules that are distributed with
the CIAO software package and are essential to its operation.
Other modules not distributed with CIAO, but can run from
within it as well as standalone. A list of available modules
is provided in the following table; there is an explanation of the different columns located
at the end of the table.
Module |
Description |
Bundled with CIAO? |
Depends On |
caldb |
The interface between the S-Lang interpreter and the CXC
caldb library. The caldb library functions are used in CIAO in
the acis_fef_lookup tool, which is written in
S-lang.
|
Yes |
CIAO |
|
cfitsio |
Generic FITS input/output functions.
|
Yes |
CFITSIO |
|
chips |
The plotting package of CIAO which can be used to create plots
from S-Lang. The S-Lang programming language can also be used
to manipulate or create data for plotting.
|
Yes |
CIAO |
|
group |
The interface between the S-Lang interpreter and the CXC group
library, which bins histogram data based on various
user-selected rules.
|
Yes |
CIAO |
|
GUIDE |
GUIDE can be used to store and retrieve models and model
parameters. One of it's more advanced applications is in
identifying spectral lines to derive physical conditions and
differential emission measures.
|
Yes |
CIAO |
|
histogram
|
Allows for the creation and manipulation of one- and
two-dimensional histograms.
|
No |
(none) |
|
isis |
ISIS is a fully programmable spectral analysis system designed
to facilitate the interpretation and analysis of high
resolution X-ray spectra. ISIS also supports analysis of CCD
resolution spectra and a number of other applications.
|
Yes |
CFITSIO, PGPLOT |
|
paramio |
The interface between the S-Lang interpreter and the CXC
parameter library.
|
Yes |
CIAO |
|
pixlib |
The interface between the S-Lang interpreter and the CXC pixlib
library.
|
Yes |
CIAO |
|
pvm
|
PVM (Parallel Virtual Machine) is a software package which
permits a heterogeneous collection computers connected by a
network to be used as a single large parallel computer. The
S-Lang pvm module provides a S-Lang interface to PVM.
|
No |
PVM |
|
region |
The interface between the S-Lang interpreter and the CXC region
library.
|
Yes |
CIAO |
|
Sherpa |
Sherpa provides a loadable module, which can be imported into
other S-Lang applications at run-time (e.g., ChIPS,
slsh). The module has many functions that provide access to
datasets and invoke Sherpa functions. See the documentation on sherpa-module
for a list of Sherpa/S-Lang module functions.
|
Yes |
CIAO |
|
SLglade
|
Used in conjunction with SLgtk, it allows you to design your
GUIs using Glade (a GTK+ user interface builder), save them in
Glade's XML format, and then generate your S-Lang script's
graphical interface directly from the XML at runtime.
|
No |
Glade |
|
SLgsl
|
The GNU Scientific Library, or GSL, is a well-written and
well-supported C library that contains a vast number of
numerical routines. The GSL module makes many of those functions
available to any application that makes use of the S-Lang
interpreter's ability to dynamically load interpreter modules.
|
No |
GSL |
|
SLgtk
|
Binds the GIMP Toolkit, also known as GTK, to the S-Lang
scripting language. It provides an importable module which makes
most of GTK and its constituent libraries callable directly from
S-Lang scripts.
|
No |
GTK |
|
SLxpa
|
SLxpa binds the XPA library to the S-Lang language. The SLxpa
package adds
significant enhancements to the original bindings of
the CIAO xpa module.
|
No |
XPA |
|
stackio |
The interface between the S-Lang interpreter and the CXC stack
library.
|
Yes |
CIAO |
|
varmm |
The Varmm library (Variable, Math and Macro) provides a number
of functions for reading data from files (both ASCII and FITS
formats), and assigning them to variables. In addition to Varmm,
there are many I/O functions within S-Lang itself which can also
be used.
|
Yes |
CIAO |
|
xpa |
The interface between the S-Lang interpreter and the XPA library.
|
Yes |
CIAO |
|
xspec |
An ISIS-specific module which provides an
interface to all the xspec spectral models including additive
and multiplicative models, convolution models, and table
models. This interface is primarily intended to support using
the ISIS fitting engine to fit data with xspec spectral models.
|
No |
HEAsoft |
|