Index: trunk/SophyaLib/Manual/sophya.tex
===================================================================
--- trunk/SophyaLib/Manual/sophya.tex	(revision 1411)
+++ trunk/SophyaLib/Manual/sophya.tex	(revision 1414)
@@ -456,4 +456,5 @@
 
 The example below shows basic usage of arrays: 
+\index{\tcls{TArray}} 
 \begin{verbatim}
 // Creating and initializing a 1-D array of integers
@@ -515,5 +516,6 @@
 \end{verbatim}
 
-This module contains also simple Gauss matrix inversion algorithm
+This module contains basic array and matrix operations 
+such as the Gauss matrix inversion algorithm
 which can be used to solve linear systems, as illustrated by the 
 example below:
@@ -540,4 +542,5 @@
 
 \subsection{Working with sub-arrays and Ranges}
+\index{Range}
 A powerful mechanism is included in array classes for working with 
 sub-arrays. The class {\bf Range} can be used to specify range of array 
@@ -562,4 +565,5 @@
 \end{verbatim}
 
+\newpage
 \subsection{Memory organisation}
 {\tt \tcls{TArray} } can handle numerical arrays with various memory 
@@ -596,5 +600,8 @@
 the two matrices have the same sizes (Number of rows and columns). 
 The following code example and the corresponding output illustrates 
-these two memory mappings.
+these two memory mappings. The {\tt \tcls{TMatrix}::TransposeSelf() }
+method changes effectively the matrix memory mapping, which is also 
+the case of {\tt \tcls{TMatrix}::Transpose() } method without argument.
+
 \begin{verbatim}
 TArray<r_4> X(4,2); 
@@ -606,4 +613,5 @@
 cout << "Matrix X_F (FortranMemoryMapping) = " << X_F << endl;
 \end{verbatim}
+\newpage
 This code would produce the following output (X\_F = Transpose(X\_C)) :
 \begin{verbatim}
@@ -644,5 +652,5 @@
 
 \subsection{1D Histograms}
-
+\index{Histo}
 For 1D histograms, various numerical methods are provided such as
 computing means and sigmas, finding maxima, fitting, rebinning,
@@ -664,5 +672,5 @@
 
 \subsection{2D Histograms}
-
+\index{Histo2D}
 Much of these operations are also valid for 2D histograms. 1D projection
 or slices can be set~:
@@ -670,5 +678,5 @@
 #include "histos2.h"
 // ...
-Histo H2(-1.,1.,100,0.,60.,50);
+Histo2D H2(-1.,1.,100,0.,60.,50);
 H2.SetProjX(); // create the 1D histo for X projection
 H2.SetBandX(25.,35.); // create 1D histo  projection for 25.<y<35.
@@ -684,6 +692,7 @@
 
 \subsection{Profile Histograms}
-
-Profiles histograms contains the mean and the sigma of the distribution
+\index{HProf}
+Profiles histograms {\bf HProf} contains the mean and the 
+sigma of the distribution
 of the values filled in each bin. The sigma can be changed to
 the error on the mean. When filled, the profile histogram looks
@@ -691,6 +700,6 @@
 may be applied onto profile histograms.
 
-\subsection{Ntuples}
-
+\subsection{NTuples}
+\index{NTuple}
 NTuple are memory resident tables of 32 bits floating values (float).
 They are arranged in columns. Each line is often called an event.
@@ -716,7 +725,35 @@
 \end{verbatim}
 
-XNtuple are sophisticated NTuple : they accept various types
-of column values (float,double,int,...) and can be as big as
-needed (they used buffers on hard disk).
+XNTuple are sophisticated NTuple : they accept various types
+of column values (double,float,int,string,...) and can handle
+very large data sets, through swap space on disk. 
+\index{XNTuple}
+In the sample code below we show how to create a XNTuple
+object with four columns (double, double, int, string). 
+Several entries (lines) are then appended to the table,
+which is saved to a PPF file.
+\begin{verbatim}
+#include "xntuple.h"
+// ...
+char * names[4] = {"X", "X2", "XInt","XStr"};
+// XNTuple (Table) creation with 4 columns, of integer, 
+// double(2) and string type
+XNTuple  xnt(2,0,1,1, names);
+// Filling the NTuple
+r_8 xd[2];
+int_4 xi[2];
+char xss[2][32];
+char * xs[2] = {xss[0], xss[1]} ;
+for(int i=0; i<50; i++) {
+   xi[0] = i;  xd[0] = i+0.5;  xd[1] = xd[0]*xd[0];
+   sprintf(xs[0],"X=%g", xd[0]);
+   xnt.Fill(xd, NULL, xi, xs);
+}
+// Printing table info
+cout << xnt ;
+// Saving object into a PPF file
+POutPersist po("xnt.ppf");
+po << xnt ;
+\end{verbatim}
 
 \subsection{Writing, viewing \dots }
@@ -740,4 +777,8 @@
 all these objects.
 
+\subsection{Fourier transform (FFT)}
+\index{FFT} \index{FFTServer}
+
+\newpage
 \section{Module SkyMap}
 \begin{figure}[hbt]
@@ -751,4 +792,5 @@
 \subsection {Spherical maps}
 There are two kinds of spherical maps according pixelization algorithms. SphereHEALPix represents spheres pixelized following the HEALPIix algorithm (E. Yvon, K. Gorski), SphereThetaPhi represents spheres pixelized following an algorithm developed at LAL-ORSAY. The example below shows creating and filling of a SphereHEALPix with nside = 8 (it will be 12*8*8= 768 pixels) :
+\index{\tcls{SphereHEALPix}} 
 
 \begin{verbatim}
@@ -760,5 +802,8 @@
 
 SphereThetaPhi is used in a similar way with an argument representing number of slices in theta (Euler angle) for an hemisphere.
+\index{\tcls{SphereThetaPhi}}
+
 \subsection {Local maps}
+\index{\tcls{LocalMap}}
 A local map is a 2 dimensional array, with i as column index and j as row index. The map is supposed to lie on a plan tangent to the celestial sphere in a point whose coordinates are (x0,y0) on the local map and (theta0, phi0) on the sphere. The range of the map is defined by two values of angles covered respectively by all the pixels in x direction and all the pixels in y direction (SetSize()). Default value of (x0, y0) is middle of the map, center of pixel(nx/2, ny/2).
 
@@ -805,7 +850,8 @@
 
 \subsection{Fitting}
-
+\index{Fitting} \index{Minimization}
 Fitting is done with two classes {\tt GeneralFit} and {\tt GeneralFitData}
 and is based on the Levenberg-Marquardt method.
+\index{GeneralFit} \index{GeneralFitData}
 GeneralFitData is a class which provide a description of the data
 to be fitted. GeneralFit is the fitter class. Parametrized functions
@@ -870,5 +916,5 @@
 
 \subsection{Polynomial}
-
+\index{Polynomial} \index{Poly} \index{Poly2}
 Polynomials of 1 or 2 variables are supported ({\tt Poly} and {\tt Poly2}).
 Various operations are supported~:
@@ -909,5 +955,6 @@
 
 \section{Module Samba}
-
+\index{Spherical Harmonics}
+\index{SphericalTransformServer}
 The module provides several classes for spherical harmonic analysis. The main class is \textit{SphericalTranformServer}. It contains methods for analysis and synthesis of spherical maps. The following example fills a vector of Cl's, generate a spherical map from these Cl's. This map is analyzed back to Cl's...
 \begin{verbatim}
@@ -940,5 +987,5 @@
 \dclsb{FitsOutFile}
 \end{figure}
-
+\index{FITS}
 This module provides classes for handling file input-output in FITS format using the cfitsio library. It works like the SOPHYA persistence (see Module SysTools), using delegate objects, but its design is simpler. The following example  writes a matrix (see module TArray) and a spherical map (see module SkyMap)  on a FITS file and reads back from FITS file and creates new objects :
 \begin{verbatim}
