next up previous contents index
Next: Using Sophya Up: sophya Previous: Contents   Contents   Index

Introduction

SOPHYA ( SOftware for PHYsics Analysis) is a collection of C++ classes designed for numerical and physics analysis software development. Our goal is to provide easy to use, yet powerful classes which can be used by scientists. We have decided to use as much as possible available numerical analysis libraries, encapsulating them whenever possible. Although some the modules in SOPHYA have been designed with the specific goal of providing the general framework for the Planck-HFI data processing software, most of the packages presented here have a more general scope than the CMB analysis and Planck mission problem.


This documents presents only a brief overview of the class library, mainly from the user's point of view. A more complete description can be found in the reference manual, available from our web site: http://www.sophya.org.


The source directory tree 1 is organised into a number of modules.

Mgr/ Scripts for code management, makefile generation and software installation
SysTools/ General architecture support classes such as PPersist, NDataBlock<T>, and few utility classes ( DataCard, DVList ...).
TArray/ template numerical arrays, vectors and matrices
( PixelMap<T> SphericalMap<T> ...)
NTools/ Some standard numerical analysis tools (linear, and non linear parameter fitting, FFT, ...)
HiStats/ Histogram-ming and data set handling classes
( Histo Histo2D NTuple XNTuple ...)

The modules listed below are more tightly related to the CMB (Cosmic Microwave Background) data analysis problem:

SkyMap/ Local and full sky maps, and few geometry handling utility classes.
( PixelMap<T>, LocalMap<T>, SphericalMap<T>, ...)
SkyT/ classes for spectral emission and detector frequency response modelling
( SpectralResponse, RadSpectra, BlackBody ...)
Samba/ Spherical harmonic analysis.

The following modules contain the interface classes with external libraries:

FitsIOServer/ Classes for handling file input-output in FITS format using the cfitsio library.
LinAlg/ Interface with Lapack linear algebra package
IFFTW/ Interface with FFTW package (libfftw.a)

Other modules:

Tests/ Simple test programs
PrgUtil/ Various utility programs (runcxx, scanppf, scanfits, ...)
PMixer/ skymixer and related programs
ProgPI/ interactive analysis tool - It should be noted that this module uses the SOPHYA class library and is based on PI which is a C++ library defining a complete GUI program architecture. An additional module (PIext) define the interactive analysis program framework and the interfaces with the objects in SOPHYA. The PI/ 2 and PIext/ modules are not currently part of the SOPHYA CVS structure.

Modules containing examples and demo programs:

Examples/ Sample SOPHYA codes and example programs and makefiles (auto_makefile and ex_makefile).
DemoPIApp/ Sample exripts and programs for (s)piapp interactive analysis tools.


next up previous contents index
Next: Using Sophya Up: sophya Previous: Contents   Contents   Index
Reza Ansari
2001-03-07