\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}, and few utility classes ({\tt DataCard, DVList} \ldots). \item[] {\bf TArray/} template numerical arrays, vectors and matrices ({\tt PixelMap SphericalMap} \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 --- LocalMap SphericalMap --- SphereThetaPhi SphereHEALPix \end{document}