\documentclass[twoside,11pt]{article}
%  Package standard : Utilisation de caracteres accentues, mode francais et graphique
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{graphicx}
% package a mettre pour faire du pdf
% \usepackage{palatino}

%  Extension de symboles mathematiques
\usepackage{amssymb}

\usepackage{defsophya}

%  Definition de taille de page
\setlength{\textwidth}{16cm}
\setlength{\textheight}{21.5cm}
\setlength{\topmargin}{0.5cm}
\setlength{\oddsidemargin}{0.cm}
\setlength{\evensidemargin}{0.cm}
\setlength{\unitlength}{1mm}


\begin{document}

\begin{titlepage}
\vspace{1cm}
\makebox[30mm][c]{\includegraphics[width=3cm]{hfi_icon_vsmall.eps}}
\hspace{5mm} \raisebox{12mm}{\rule{75 mm}{0.5 mm}\makebox[50 mm]{\bf Sophya }}
\vspace{2cm}
\begin{center}
\par \renewcommand{\baselinestretch}{2.0} \small 
{\LARGE \bf 
Sophya  \\ 
An overview 
}
\par \renewcommand{\baselinestretch}{1.0} \normalsize
\vspace{5 cm}
\begin{tabular}{ll}
{R. Ansari} & {\tt ansari@lal.in2p3.fr} \\
% {. Lesquoy} & {\tt lesquoy@hep.saclay.cea.fr} \\
{G. Le Meur} & {\tt lemeur@lal.in2p3.fr} \\
{C. Magneville} & {\tt cmv@hep.saclay.cea.fr} \\
\end{tabular}

\end{center}
\vfill
\hfill 
\framebox[\textwidth]{\hspace{0.5cm} \bf Sophya 
\hspace{1cm} \today } \\
\end{titlepage}

\tableofcontents

\newpage


\section{Introduction}

   {\bf SOPHYA} ({\bf SO}ftware for {\bf PHY}sics {\bf A}nalysis) 
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.
  
  The SOPHYA design and implementation has been carried out
with the specific goal of providing the general framework for
the Planck-HFI data processing software. However, most of the 
packages presented are independent of Planck and CMB analysis
problem.
  The source directory tree 
\footnote{ CVS server: cvsserver.lal.in2p3.fr:/projects/Eros/CVSEros} 
is organised into a number of modules. 

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

Modules designed for problems related to CMB analysis :

\begin{itemize}
\item[] {\bf SkyMap/} Local and full sky maps 
\item[] {\bf SkyT/} 
classes for spectral emission and detector frequency response modelling \\
({\tt SpectralResponse, RadSpectra, BlackBody} \ldots)
\item[] {\bf Samba/} few classes for map and TOD analysis.
\item[] {\bf PMixer/} skymixer and related programs
\end{itemize}

Modules containing interface classes with external libraries:
\begin{itemize}
\item[] {\bf FitsIOSrever/} Classes for handling file input-output 
in FITS format using the cfitsio library.
\item[] {\bf LinAlg/} Interface with Lapack linear algebra package
\item[] {\bf IFFTW/} Interface with FFTW package
\end{itemize}

Other modules:
\begin{itemize}
\item[] {\bf Tests/} Simple test programs
\item[] {\bf ProgPI/}  interactive analysis tool - It should be noted that 
this module uses the SOPHYA class library and is based on {\bf 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 {\bf PI/} \footnote{the PI package documentation 
is available from {\tt http://www.lal.in2p3.fr/recherche/eros/PeidaDoc/} } 
and {\bf PIext/} modules are not currently part 
of the SOPHYA CVS structure.
\end{itemize}   

\section{Mgr/ module and software installation}
blabla ...

\section{SysTools module}
This is a dclsa{AAAA} \\[2mm]
\dclsa{AAA}
This is a dclsb{BBBB}{BBBB} \\[2mm]
\dclsbb{BBBB}{BBBB}
This is a dclsc{CCCCC}{CCCCC}{CCCCC} \\[2mm]
\dclsccc{\tcls{CCCCC}}{CCCCC}{CCCCC}


\begin{figure}
\dclsa{DataCard}
\dclsbb{AnyDataObj}{NDataBlock$<$T$>$}
\dclsccc{BaseArray}{TArray}{TMatrix}
\dclsb{NDataBlock$<$T$>$}
\dclscc{TArray}{TMatrix}
\dclsc{\tcls{Tvector}}
\caption{ Partial class diagram}
\end{figure}


PixelMap<T> --- LocalMap<T>
                SphericalMap<T>  --- SphereThetaPhi<T>
                                     SphereHEALPix<T>


\end{document}