Index: trunk/SophyaLib/NTools/Makefile
===================================================================
--- trunk/SophyaLib/NTools/Makefile	(revision 1318)
+++ trunk/SophyaLib/NTools/Makefile	(revision 1371)
@@ -3,7 +3,7 @@
 all: $(LIB)libNTools.a
 clean:
-	rm -f $(OBJ)cimage.o $(OBJ)cspline.o $(OBJ)datatypes.o $(OBJ)dates.o $(OBJ)difeq.o $(OBJ)dynccd.o $(OBJ)fct1dfit.o $(OBJ)fct2dfit.o $(OBJ)fftmserver.o $(OBJ)fftpserver.o $(OBJ)fftserver.o $(OBJ)fftservintf.o $(OBJ)generaldata.o $(OBJ)generalfit.o $(OBJ)imageop.o $(OBJ)integ.o $(OBJ)median.o $(OBJ)ntoolsinit.o $(OBJ)ntupintf.o $(OBJ)objfitter.o $(OBJ)perandom.o $(OBJ)poly.o $(OBJ)rk4cdifeq.o $(OBJ)simplesort.o $(OBJ)tabmath.o $(OBJ)datime.o $(OBJ)fftmayer_r4.o $(OBJ)fftmayer_r8.o $(OBJ)fftpackc.o $(OBJ)matxop.o $(OBJ)nbmath.o $(OBJ)nbtri.o
+	rm -f $(OBJ)cimage.o $(OBJ)cspline.o $(OBJ)datatypes.o $(OBJ)dates.o $(OBJ)difeq.o $(OBJ)dynccd.o $(OBJ)fct1dfit.o $(OBJ)fct2dfit.o $(OBJ)fftmserver.o $(OBJ)fftpserver.o $(OBJ)fftservintf.o $(OBJ)generaldata.o $(OBJ)generalfit.o $(OBJ)imageop.o $(OBJ)integ.o $(OBJ)median.o $(OBJ)ntoolsinit.o $(OBJ)objfitter.o $(OBJ)perandom.o $(OBJ)poly.o $(OBJ)rk4cdifeq.o $(OBJ)simplesort.o $(OBJ)tabmath.o $(OBJ)datime.o $(OBJ)fftmayer_r4.o $(OBJ)fftmayer_r8.o $(OBJ)fftpackc.o $(OBJ)matxop.o $(OBJ)nbmath.o $(OBJ)nbtri.o
 	rm -f $(LIB)libNTools.a
-$(LIB)libNTools.a : $(OBJ)cimage.o $(OBJ)cspline.o $(OBJ)datatypes.o $(OBJ)dates.o $(OBJ)datime.o $(OBJ)difeq.o $(OBJ)dynccd.o $(OBJ)fct1dfit.o $(OBJ)fct2dfit.o $(OBJ)fftmayer_r4.o $(OBJ)fftmayer_r8.o $(OBJ)fftmserver.o $(OBJ)fftpackc.o $(OBJ)fftpserver.o $(OBJ)fftserver.o $(OBJ)fftservintf.o $(OBJ)generaldata.o $(OBJ)generalfit.o $(OBJ)integ.o $(OBJ)matxop.o $(OBJ)median.o $(OBJ)nbmath.o $(OBJ)nbtri.o $(OBJ)ntoolsinit.o $(OBJ)ntupintf.o $(OBJ)objfitter.o $(OBJ)perandom.o $(OBJ)poly.o $(OBJ)rk4cdifeq.o $(OBJ)simplesort.o $(OBJ)tabmath.o
+$(LIB)libNTools.a : $(OBJ)cimage.o $(OBJ)cspline.o $(OBJ)datatypes.o $(OBJ)dates.o $(OBJ)datime.o $(OBJ)difeq.o $(OBJ)dynccd.o $(OBJ)fct1dfit.o $(OBJ)fct2dfit.o $(OBJ)fftmayer_r4.o $(OBJ)fftmayer_r8.o $(OBJ)fftmserver.o $(OBJ)fftpackc.o $(OBJ)fftpserver.o $(OBJ)fftservintf.o $(OBJ)generaldata.o $(OBJ)generalfit.o $(OBJ)integ.o $(OBJ)matxop.o $(OBJ)median.o $(OBJ)nbmath.o $(OBJ)nbtri.o $(OBJ)ntoolsinit.o $(OBJ)objfitter.o $(OBJ)perandom.o $(OBJ)poly.o $(OBJ)rk4cdifeq.o $(OBJ)simplesort.o $(OBJ)tabmath.o
 	$(ARCXX) $(ARCXXFLAGS) $@ $?
 ifeq ($(CXX),cxx)
@@ -82,6 +82,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- poly.h peida.h $(INC)utils.h \
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h poly.h peida.h \
+ $(INC)utils.h \
  $(INC)perrors.h fmath.h nbconst.h tabmath.h
 $(OBJ)fct2dfit.o: fct2dfit.cc $(INC)machdefs.h \
@@ -98,6 +99,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- poly.h peida.h $(INC)utils.h \
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h poly.h peida.h \
+ $(INC)utils.h \
  $(INC)perrors.h fmath.h nbconst.h tabmath.h \
  simps2d.h
@@ -132,19 +134,4 @@
  $(INC)utilarr.h \
  $(INC)tvector.h fftpackc.h
-$(OBJ)fftserver.o: fftserver.cc fftserver.h \
- $(INC)tvector.h \
- $(INC)tmatrix.h \
- $(INC)machdefs.h \
- $(INC)tarray.h \
- $(INC)basarr.h \
- $(INC)anydataobj.h \
- $(INC)mutyv.h \
- $(INC)dvlist.h \
- $(INC)objfio.h \
- $(INC)ppersist.h \
- $(INC)pexceptions.h \
- $(INC)gnumd5.h \
- $(INC)ndatablock.h \
- $(INC)utilarr.h
 $(OBJ)fftservintf.o: fftservintf.cc fftservintf.h \
  $(INC)machdefs.h \
@@ -177,6 +164,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- poly.h peida.h $(INC)utils.h \
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h poly.h peida.h \
+ $(INC)utils.h \
  $(INC)perrors.h fmath.h
 $(OBJ)generalfit.o: generalfit.cc $(INC)machdefs.h \
@@ -193,6 +181,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- poly.h peida.h $(INC)utils.h \
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h poly.h peida.h \
+ $(INC)utils.h \
  $(INC)perrors.h fmath.h \
  $(INC)sopemtx.h
@@ -210,6 +199,7 @@
  $(INC)gnumd5.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- poly.h peida.h $(INC)utils.h \
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h poly.h peida.h \
+ $(INC)utils.h \
  $(INC)perrors.h fmath.h
 $(OBJ)median.o: median.cc
@@ -231,9 +221,8 @@
  $(INC)dvlist.h \
  $(INC)ndatablock.h \
- $(INC)utilarr.h generaldata.h ntupintf.h \
- cimage.h $(INC)fioarr.h tabmath.h nbconst.h \
- dates.h datime.h
-$(OBJ)ntupintf.o: ntupintf.cc ntupintf.h \
- $(INC)machdefs.h
+ $(INC)utilarr.h generaldata.h \
+ $(INC)ntupintf.h cimage.h \
+ $(INC)fioarr.h tabmath.h nbconst.h dates.h \
+ datime.h
 $(OBJ)objfitter.o: objfitter.cc objfitter.h \
  $(INC)machdefs.h \
@@ -259,5 +248,5 @@
  $(INC)histos2.h \
  $(INC)hisprof.h generalfit.h generaldata.h \
- ntupintf.h poly.h peida.h
+ $(INC)ntupintf.h poly.h peida.h
 $(OBJ)perandom.o: perandom.cc $(INC)machdefs.h \
  $(INC)pexceptions.h perandom.h \
Index: trunk/SophyaLib/NTools/dates.h
===================================================================
--- trunk/SophyaLib/NTools/dates.h	(revision 1318)
+++ trunk/SophyaLib/NTools/dates.h	(revision 1371)
@@ -1,2 +1,6 @@
+//   Gestion de dates 
+//        E. Aubourg       1995-2000
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
+
 #ifndef DATES_SEEN
 #define DATES_SEEN
@@ -7,8 +11,10 @@
 #include "pexceptions.h"
 
+// namespace SOPHYA {  
+
 class TimeZone;
 // <summary> Dates, conversions, operations </summary>
 // Classe generale de date et heure, operation, TU/TL ...
-class Date EXC_AWARE {
+class Date  {
 public:
   // Enumerations jours et mois
@@ -122,5 +128,5 @@
 // <summary> Gestion des fuseaux horaires </summary>
 // Classe de gestion des fuseaux horaires. Tient compte des heures d'ete.
-class TimeZone EXC_AWARE {
+class TimeZone  {
 public:
   char code[4];
@@ -144,3 +150,5 @@
 extern TimeZone* gTimeZone;
 
+// }  namespace SOPHYA
+
 #endif
Index: trunk/SophyaLib/NTools/difeq.h
===================================================================
--- trunk/SophyaLib/NTools/difeq.h	(revision 1318)
+++ trunk/SophyaLib/NTools/difeq.h	(revision 1371)
@@ -1,3 +1,7 @@
 // This may look like C code, but it is really -*- C++ -*-
+//  Simple differential equation solver 
+//        E. Aubourg 1996-
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
+
 #ifndef DIFEQ_H_SEEN
 #define DIFEQ_H_SEEN
@@ -15,5 +19,5 @@
 // On resoud de facon generale un systeme de n equations differentielles,
 // donnant les derivees fpi de n fonctions fi.
-class DiffEqFunction EXC_AWARE {
+class DiffEqFunction  {
 public:
   // Constructeur. n = nombre de fonctions dans le systeme
@@ -155,5 +159,5 @@
 // Beaucoup de fonctions renvoient l'objet pour pouvoir faire une
 // notation chainee s.Step(...).Start(...).Solve(...)
-class DiffEqSolver EXC_AWARE {
+class DiffEqSolver  {
 public:
   // Constructeurs. L'equadif est donnee sous forme de DiffEqFunction.
Index: trunk/SophyaLib/NTools/fftpserver.cc
===================================================================
--- trunk/SophyaLib/NTools/fftpserver.cc	(revision 1318)
+++ trunk/SophyaLib/NTools/fftpserver.cc	(revision 1371)
@@ -6,6 +6,8 @@
 
 /*! 
-\class SOPHYA::FFTPackServer
-A class that calculates Fourier transforms forwards and backwards.
+  \class SOPHYA::FFTPackServer
+  \ingroup NTools
+  An implementation of FFTServerInterface based on fftpack, for 
+  one dimensional arrays.
 
 The class calls the c library ``fftpack'', which is accessible and documented
@@ -23,45 +25,4 @@
 */
 
-/* \fn virtual void FFTServer::fftf(int l, r_4* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftb(int l, r_4* inout)
-  \param l length of array
-  \param inout input array /output backward FFT (original array destroyed)
-*/
-/* \fn virtual void FFTServer::fftf(int l, r_8* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-  \param inout input/output array (original array destroyed)
-*/
-/* \fn virtual void FFTServer::fftb(int l, r_8* inout)
-  \param l length of array
-  \param inout input array /output backward FFT(original array destroyed)
-*/
-/*\fn  virtual void FFTServer::fftf(int l, complex<r_4>* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/* \fn virtual void FFTServer::fftb(int l, complex<r_4>* inout)
-  \param l length of array
-  \param inout input array /output backward FFT (original array destroyed)
-*/
-/* \fn virtual void FFTServer::fftf(int l, complex<r_8>* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/* \fn virtual void FFTServer::fftb(int l, complex<r_8>* inout)
-  \param l length of array
-  \param inout input array /output backward FFT(original array destroyed)
-*/
-/*\fn  virtual void FFTServer::fftf(Vector& in, Vector& out)
-  \param in input array
-  \param out forward FFT
-*/
-/* \fn virtual void FFTServer::fftb(Vector& in, Vector& out)
-  \param in input array
-  \param out backward FFT
-*/
 
 FFTPackServer::FFTPackServer()
Index: trunk/SophyaLib/NTools/fftpserver.h
===================================================================
--- trunk/SophyaLib/NTools/fftpserver.h	(revision 1318)
+++ trunk/SophyaLib/NTools/fftpserver.h	(revision 1371)
@@ -1,2 +1,6 @@
+//   FFT (Fast Fourier Transform) Server based on FFTPack
+//        R. Ansari     1999-2000
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
+
 #ifndef  FFTPServer_H_SEEN
 #define  FFTPServer_H_SEEN
Index: trunk/SophyaLib/NTools/fftserver.cc
===================================================================
--- trunk/SophyaLib/NTools/fftserver.cc	(revision 1318)
+++ 	(revision )
@@ -1,204 +1,0 @@
-#include "fftserver.h"
-#include <iostream.h>
-
-extern "C" {
-  int rffti_(int *n, float *wsave);             //fftpack functions
-  int rfftf_(int *n, float *r__, float *wsave);
-  int rfftb_(int *n, float *r__, float *wsave);
-  int dffti_(int *n, double *wsave);
-  int dfftf_(int *n, double *r__, double *wsave);
-  int dfftb_(int *n, double *r__, double *wsave);
-  int cffti_(int *n, float *wsave);
-  int cfftf_(int *n, float *c__, float *wsave);
-  int cfftb_(int *n, float *c__, float *wsave);
-  int cdffti_(int *n, double *wsave);
-  int cdfftf_(int *n, double *c__, double *wsave);
-  int cdfftb_(int *n, double *c__, double *wsave);
-           }
-
-FFTServer::FFTServer()
-{
-  sz_rfft = 0;     //the working array and its size for the different
-  ws_rfft = NULL;  //possible numerical types
-  sz_cfft = 0;
-  ws_cfft = NULL;
-  sz_cdfft = 0;
-  ws_cdfft = NULL;
-}
-
-FFTServer::~FFTServer()
-{
-if (ws_rfft) delete[] ws_rfft;
-if (ws_cfft) delete[] ws_cfft;
-if (ws_cdfft) delete[] ws_cdfft;
-}
-
-void FFTServer::checkint_rfft(int l)
-{
-  if (sz_rfft == l) return;       //checkint functions check and reallocate
-                                  //memory for the work arrays when performing
-  if (ws_rfft) delete[] ws_rfft;  //a transform
-  sz_rfft = l;
-  ws_rfft = new float[2*l+15];
-  rffti_(&l, ws_rfft);
-}
-
-void FFTServer::checkint_cfft(int l)
-{
-  if (sz_cfft == l) return;
-
-  if (ws_cfft) delete[] ws_cfft;
-  sz_cfft = l;
-  ws_cfft = new float[4*l+15];
-  cffti_(&l, ws_cfft);
-}
-
-void FFTServer::checkint_dfft(int l)
-{
-  if (sz_dfft == l) return;
-
-  if (ws_dfft) delete[] ws_dfft;
-  sz_dfft = l;
-  ws_dfft = new double[2*l+15];
-  dffti_(&l, ws_dfft);
-}
-
-void FFTServer::checkint_cdfft(int l)
-{
-  if (sz_cdfft == l) return;
-
-  if (ws_cdfft) delete[] ws_cdfft;
-  sz_cdfft = l;
-  ws_cdfft = new double[4*l+15];
-  cdffti_(&l, ws_cdfft);
-}
-
-/* In general forward transformations are resorted since fftpack functions
-   return inverse transformations */
-
-void FFTServer::fftf(int l, float* inout)
-{
-  checkint_rfft(l);
-  rfftf_(&l, inout, ws_rfft);
-  for (int k= 2;k<=(l+1)/2;k++) inout[2*k-2]=-inout[2*k-2];
-}
-
-void FFTServer::fftf(int l, double* inout)
-{
-  checkint_dfft(l);
-  dfftf_(&l, inout, ws_dfft);
-  for (int k= 2;k<=(l+1)/2;k++) inout[2*k-2]=-inout[2*k-2];
-}
-
-void FFTServer::fftf(int l, complex<float>* inout)
-{
-  checkint_cfft(l);
-  float* foo = new float[2*l];
-  int i;
-  for (i=0;i<l;i++){
-    foo[2*i]=inout[i].real();
-    foo[2*i+1]=inout[i].imag();
-  }
-  cfftf_(&l, foo, ws_cfft);
-  inout[0]=complex<float> (foo[0],foo[1]);
-  for (i=1;i<l;i++) inout[l-i]= complex<float> (foo[2*i], foo[2*i+1]);
-  delete[] foo;
-}
-
-void FFTServer::fftf(int l, complex<double>* inout)
-{
-  checkint_cdfft(l);
-  double* foo=new double[2*l];
-  int i;
-  for (i=0;i<l;i++){
-    foo[2*i]=inout[i].real();
-    foo[2*i+1]=inout[i].imag();
-  }
-  cdfftf_(&l, foo, ws_cdfft);
-  inout[0]=complex<double> (foo[0],foo[1]);
-  for (i=1;i<l;i++) {
-    inout[l-i]= complex<double> (foo[2*i],foo[2*i+1]);
-  }
-  delete[] foo;
-}
-
-void FFTServer::fftb(int l, float* inout)
-{
-  checkint_rfft(l);
-  rfftf_(&l, inout, ws_rfft);
-}
-
-void FFTServer::fftb(int l, double* inout)
-{
-  checkint_dfft(l);
-  dfftf_(&l, inout, ws_dfft);
-}
-
-void FFTServer::fftb(int l, complex<float>* inout)
-{
-  checkint_cfft(l);
-  float* foo = new float[2*l];
-  int i;
-  for (i=0;i<l;i++){
-    foo[2*i]=inout[i].real();
-    foo[2*i+1]=inout[i].imag();
-  }
-  cfftf_(&l, foo, ws_cfft);
-  for (i=0;i<l;i++) inout[i]=complex<float> (foo[2*i],foo[2*i+1]);
-  delete[] foo;
-}
-
-void FFTServer::fftb(int l, complex<double>* inout)
-{
-  checkint_cdfft(l);
-  double* foo = new double[2*l];
-  int i;
-  for (i=0;i<l;i++){
-    foo[2*i]=inout[i].real();
-    foo[2*i+1]=inout[i].imag();
-  }
-  cdfftf_(&l, foo, ws_cdfft);
-  for (i=0;i<l;i++) inout[i]=complex<double> (foo[2*i],foo[2*i+1]);
-  delete[] foo;
-}
-
-void FFTServer::fftf(Vector& in, Vector& out)
-{
-  int l = in.NElts();
-/* ----- Si c'etait un Vector<float> on aurait ecrit comme ca 
-   Pour le moment Vector est double, on passe donc par un tableau 
-   intermediare
-// La transformee sur le tableau de flaot se fait en place,
-// on utilise donc out comme in-out
-  out = in;
-  fftf_float(l, out.Data() );
-  ------------------------------------------------------------- */
-  float * inout = new float[l];
-  int i;
-  for(i=0; i<l; i++) inout[i] = in(i);
-  fftf(l, inout);
-  out.Realloc(l);
-  for(i=0; i<l; i++) out(i) = inout[i];
-  delete[] inout;
-}
-
-void FFTServer::fftb(Vector& in, Vector& out)
-{
-  int l = in.NElts();
-/* ----- Si c'etait un Vector<float> on aurait ecrit comme ca 
-   Pour le moment Vector est double, on passe donc par un tableau 
-   intermediare
-// La transformee sur le tableau de flaot se fait en place,
-// on utilise donc out comme in-out
-  out = in;
-  fftf_float(l, out.Data() );
-  ------------------------------------------------------------- */
-  float * inout = new float[l];
-  int i;
-  for(i=0; i<l; i++) inout[i] = in(i);
-  fftb(l, inout);
-  out.Realloc(l);
-  for(i=0; i<l; i++) out(i) = inout[i];
-  delete[] inout;
-}
-
Index: trunk/SophyaLib/NTools/fftserver.h
===================================================================
--- trunk/SophyaLib/NTools/fftserver.h	(revision 1318)
+++ 	(revision )
@@ -1,103 +1,0 @@
-#ifndef  FFTServ_H_SEEN
-#define  FFTServ_H_SEEN
-
-#include <complex>
-#include "tvector.h"
-
-class FFTServer{
- public:
-  FFTServer();
-  virtual ~FFTServer();
-  virtual void fftf(int l, float* inout);
-  virtual void fftb(int l, float* inout);
-  virtual void fftf(int l, double* inout);
-  virtual void fftb(int l, double* inout);
-  virtual void fftf(int l, complex<float>* inout);
-  virtual void fftb(int l, complex<float>* inout);
-  virtual void fftf(int l, complex<double>* inout);
-  virtual void fftb(int l, complex<double>* inout);
-  virtual void fftf(Vector& in, Vector& out);
-  virtual void fftb(Vector& in, Vector& out);
-
- protected:
-  virtual void checkint_rfft(int l);
-  virtual void checkint_dfft(int l);
-  virtual void checkint_cfft(int l);
-  virtual void checkint_cdfft(int l);
-
-  int sz_rfft;
-  float* ws_rfft;
-
-  int sz_cfft;
-  float* ws_cfft;
-
-  int sz_dfft;
-  double* ws_dfft;
-
-  int sz_cdfft;
-  double* ws_cdfft;
-};
-#endif
-
-/*! \class FFTServer
- \brief An FFT server
-
-A class that calculates Fourier transforms forwards and backwards.
-
-The class calls the c library ``fftpack'', which is accessible and documented
-at http://www.netlib.org/fftpack/.  However, the class functions do not
-necessarily correspond with the equivalent fftpack function.  For example,
-fftpack "forward" transformations are in fact inverse fourier transformations.
-Otherwise, the output is in the fftpack format.
-
-Complex input must be entered using the <complex> template.  Otherwise,
-all input is assumed to be real.
-
-Due to the way that fftpack manages
-its work arrays, an object can run faster if the length of the input arrays
-does not change.  For example, if you need to do a series of FFT's
-of differing length, it may be more efficient to create an fftserver object
-for each length.
-*/
-
-/*! \fn virtual void FFTServer::fftf(int l, float* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftb(int l, float* inout)
-  \param l length of array
-  \param inout input array /output backward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftf(int l, double* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-  \param inout input/output array (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftb(int l, double* inout)
-  \param l length of array
-  \param inout input array /output backward FFT(original array destroyed)
-*/
-/*!\fn  virtual void FFTServer::fftf(int l, complex<float>* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftb(int l, complex<float>* inout)
-  \param l length of array
-  \param inout input array /output backward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftf(int l, complex<double>* inout)
-  \param l length of array
-  \param inout input array /output forward FFT (original array destroyed)
-*/
-/*! \fn virtual void FFTServer::fftb(int l, complex<double>* inout)
-  \param l length of array
-  \param inout input array /output backward FFT(original array destroyed)
-*/
-/*!\fn  virtual void FFTServer::fftf(Vector& in, Vector& out)
-  \param in input array
-  \param out forward FFT
-*/
-/*! \fn virtual void FFTServer::fftb(Vector& in, Vector& out)
-  \param in input array
-  \param out backward FFT
-*/
Index: trunk/SophyaLib/NTools/fftservintf.cc
===================================================================
--- trunk/SophyaLib/NTools/fftservintf.cc	(revision 1318)
+++ trunk/SophyaLib/NTools/fftservintf.cc	(revision 1371)
@@ -2,4 +2,11 @@
 
 
+/*!
+  \class SOPHYA::FFTServerInterface
+  \ingroup NTools
+  Defines the interface for FFT (Fast Fourier Transform) operations.
+  Warning: The interface is likely to be changed and simplified,
+  using only SOPHYA::TArray Objects.
+*/
 
 /* --Methode-- */
Index: trunk/SophyaLib/NTools/fftservintf.h
===================================================================
--- trunk/SophyaLib/NTools/fftservintf.h	(revision 1318)
+++ trunk/SophyaLib/NTools/fftservintf.h	(revision 1371)
@@ -1,2 +1,6 @@
+//   FFT (Fast Fourier Transform) Server Interface
+//        R. Ansari     1999-2000
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
+
 #ifndef  FFTServerIntf_H_SEEN
 #define  FFTServerIntf_H_SEEN
Index: trunk/SophyaLib/NTools/integ.h
===================================================================
--- trunk/SophyaLib/NTools/integ.h	(revision 1318)
+++ trunk/SophyaLib/NTools/integ.h	(revision 1371)
@@ -1,8 +1,6 @@
 // This may look like C code, but it is really -*- C++ -*-
-//
-// integ.h
-//
-// $Id: integ.h,v 1.6 1999-11-05 13:08:29 ansari Exp $
-//
+// Simple integrator 
+//        E. Aubourg        1996-...
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
 
 #ifndef INTEG_H_SEEN
@@ -17,5 +15,5 @@
 class GeneralFunction;
 
-class Integrator EXC_AWARE {
+class Integrator {
 public:
   typedef double(*FUNC)(double);
Index: trunk/SophyaLib/NTools/ntupintf.cc
===================================================================
--- trunk/SophyaLib/NTools/ntupintf.cc	(revision 1318)
+++ 	(revision )
@@ -1,150 +1,0 @@
-
-#include "ntupintf.h"
-#include <stdlib.h>
-#include <stdio.h>
-
-//++
-// Class	NTupleInterface
-// Lib	Outils++ 
-// include	ntupintf.h
-//
-//	Interface permettant de construire des vues NTuples (tableau lignes-colonnes) 
-//	pour differents objets. Toutes les methodes ont une implementation par defaut. 
-//--
-
-//++
-// NTupleInterface()
-//	Constructeur.
-// virtual ~NTupleInterface()
-//	Destructeur
-// uint_4  NbLines() const 
-//	Nombre de lignes du tableau
-// uint_4  NbColumns() const 
-//	Nombre de colonnes du tableau
-// r_8 *  GetLineD(int n) const
-//	Renvoie un tableau avec le contenu de la ligne "n"
-// r_8	GetCell(int n, int k) const
-//	Renvoie le contenu de la cellule correspondant a la ligne "n"
-//	et colonne "k"
-// r_8  GetCell(int n, string const & nom) const
-//	Renvoie le contenu de la cellule correspondant a la ligne "n"
-//	pour la colonne identifiee par "nom"
-// string  GetCelltoString(int n, int k) const
-//	Renvoie le contenu de la cellule correspondant a la ligne "n"
-//	et colonne "k", sous forme de chaine de caracteres.
-// string  GetCell(int n, string const & nom) const
-//	Renvoie le contenu de la cellule correspondant a la ligne "n"
-//	pour la colonne identifiee par "nom", sous forme de chaine de caracteres.
-// void GetMinMax(int k, double& min, double& max)  const
-//	Renvoie la valeur mini et maxi de la colonne numero "k"
-// void	GetMinMax(string const & nom, double& min, double& max)
-//	Renvoie la valeur mini et maxi de la colonne identifiee par "nom"
-// int  ColumnIndex(string const & nom)  const
-//	Renvoie le numero de colonne identifiee par "nom". Renvoie -1 (negatif)
-//	si colonne "nom" n'existe pas.
-// string ColumnName(int k) const
-//	Renvoie le nom de la colonne numero "k"
-// string VarList_C(const char* nomx=NULL) const
-//	Renvoie une chaine avec les declarations "C" pour les
-//	variables avec les noms de colonnes
-// string  LineHeaderToString()
-//	Renvoie une chaine avec les noms de colonnes, utilisables pour l'impression
-// string  LineToString(int n)
-//	Renvoie une chaine avec le contenu de la ligne "n", utilisable pour l'impression
-//--
-
-/* --Methode-- */
-NTupleInterface::NTupleInterface()
-{
-}
-/* --Methode-- */
-NTupleInterface::~NTupleInterface()
-{
-}
-
-/* --Methode-- */
-uint_4 NTupleInterface::NbLines() const
-{
-return(0);
-}
-/* --Methode-- */
-uint_4 NTupleInterface::NbColumns() const
-{
-return(0);
-}
-
-/* --Methode-- */
-r_8 * NTupleInterface::GetLineD(int ) const
-{
-return(NULL);
-}
-
-/* --Methode-- */
-r_8 NTupleInterface::GetCell(int , int ) const
-{
-return(0.);
-}
-
-/* --Methode-- */
-r_8 NTupleInterface::GetCell(int n, string const & nom) const
-{
-return(GetCell(n, ColumnIndex(nom)));
-}
-
-string NTupleInterface::GetCelltoString(int n, int k) const
-{
-char strg[64];
-//sprintf(strg,"C%d= %g\n", k, GetCell(n, k));
-sprintf(strg,"%g\n", GetCell(n, k));
-return(strg);
-}
-
-string NTupleInterface::GetCelltoString(int n, string const & nom) const
-{
-return(GetCelltoString(n, ColumnIndex(nom)));
-}
-
-/* --Methode-- */
-void NTupleInterface::GetMinMax(int , double& min, double& max)   const
-{
-min = max = 0.;
-}
-
-/* --Methode-- */
-void NTupleInterface::GetMinMax(string const & , double& min, double& max)   const
-{
-min = max = 0.;
-}
-
-/* --Methode-- */
-int NTupleInterface::ColumnIndex(string const & nom)  const
-{
-return(-1);
-}
-
-/* --Methode-- */
-string NTupleInterface::ColumnName(int k) const
-{
-return("");
-}
-
-/* --Methode-- */
-string NTupleInterface::VarList_C(const char*) const
-{
-return("");
-}
-
-/* --Methode-- */
-string NTupleInterface::LineHeaderToString() const
-{
-return("");
-}
-
-/* --Methode-- */
-string NTupleInterface::LineToString(int ) const
-{
-return("");
-}
-
-
-
Index: trunk/SophyaLib/NTools/ntupintf.h
===================================================================
--- trunk/SophyaLib/NTools/ntupintf.h	(revision 1318)
+++ 	(revision )
@@ -1,48 +1,0 @@
-// This may look like C code, but it is really -*- C++ -*-
-// Interface de type NTuple           Reza 05/99
-// LAL-IN2P3/CNRS               CEA-DAPNIA      
-
-#ifndef NTUPLEINTERFACE_H_SEEN
-#define NTUPLEINTERFACE_H_SEEN
-
-#include "machdefs.h"
-#include <string>
-
-class NTupleInterface {
-public:
-  			NTupleInterface(); 
-  virtual		~NTupleInterface();
-// Nombre de lignes du NTuple  (Nb d'entrees)  
-  virtual uint_4        NbLines() const ;
-// Nombre de colonnes (nb de variables)
-  virtual uint_4        NbColumns() const ;
-// La ligne numero n, sous forme d'un tableau de double
-  virtual r_8 *         GetLineD(int n) const ;
-// Cellule de la ligne n, colonne k
-  virtual r_8		GetCell(int n, int k) const ;
-// Cellule de la ligne n, colonne nom
-  virtual r_8		GetCell(int n, string const & nom) const ;
-// Cellule de la ligne n, colonne k, converti en chaine de caracteres
-  virtual string	GetCelltoString(int n, int k) const ;
-// Cellule de la ligne n, colonne nom, converti en chaine de caracteres
-  virtual string	GetCelltoString(int n, string const & nom) const ;
-// Min et Max pour la colonne k
-  virtual void		GetMinMax(int k, double& min, double& max)   const ; 
-// Min et Max pour la colonne nom
-  virtual void		GetMinMax(string const & nom, double& min, double& max)   const ;
-// Numero de colonne pour nom 
-  virtual int           ColumnIndex(string const & nom)  const ;
-// Nom de colonne numero k
-  virtual string        ColumnName(int k) const;
-// Declaration des variables style C
-  virtual string	VarList_C(const char* nomx=NULL) const ;
-// Entete et liste de variable, pouvant servir a l'impression
-  virtual string        LineHeaderToString() const;
-// Contenu de la ligne n, pouvant servir a l'impression
-  virtual string        LineToString(int n) const;  
-};
-
-
-#endif   /*  NTUPLEINTERFACE_H_SEEN  */
-
-
Index: trunk/SophyaLib/NTools/objlist.list
===================================================================
--- trunk/SophyaLib/NTools/objlist.list	(revision 1318)
+++ trunk/SophyaLib/NTools/objlist.list	(revision 1371)
@@ -13,5 +13,4 @@
 fftpackc.o
 fftpserver.o
-fftserver.o
 fftservintf.o
 generaldata.o
@@ -23,5 +22,4 @@
 nbtri.o
 ntoolsinit.o
-ntupintf.o
 objfitter.o
 perandom.o
Index: trunk/SophyaLib/NTools/perandom.h
===================================================================
--- trunk/SophyaLib/NTools/perandom.h	(revision 1318)
+++ trunk/SophyaLib/NTools/perandom.h	(revision 1371)
@@ -1,5 +1,6 @@
 // This may look like C code, but it is really -*- C++ -*-
-
 // Nombres aleatoires pour Peida.
+//        C. Magneville   1996-2000
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
 
 #ifndef PERANDOM_SEEN
@@ -10,4 +11,6 @@
 #include "histos.h"
 #include "nbrandom.h"
+
+namespace SOPHYA {  
 
 class FunRan : public Histo {
@@ -22,5 +25,5 @@
 };
 
-class FunRan2D EXC_AWARE {
+class FunRan2D  {
 public:
 //  typedef r_8 (*Func)(r_8, r_8);
@@ -38,3 +41,5 @@
 };
 
+} // namespace SOPHYA
+
 #endif
Index: trunk/SophyaLib/NTools/rzvect.h
===================================================================
--- trunk/SophyaLib/NTools/rzvect.h	(revision 1318)
+++ 	(revision )
@@ -1,76 +1,0 @@
-// This may look like C code, but it is really -*- C++ -*-
-/*  Classe vecteurs de type non constant (template)     */
-/*                    E. Aubourg, E. Lesquoy            */
-/*        Modifs             R. Ansari 04/95            */
-
-#ifndef RZVECT_SEEN
-#define RZVECT_SEEN
-
-#include "machdefs.h"
-#include "pexceptions.h"
-#include "perrors.h"
-
-template <class T>
-class RzVect EXC_AWARE {
-public:
-                    RzVect(int n, T* data);
-                    RzVect(int n);
-  virtual           ~RzVect();
-  inline int&       NImgRef()         {return nImgRef;}
-  inline int&       Shareable()       {return shareable;}   
-  inline T&         operator[](int i);
-  inline const T&   operator[](int i) const;
-  int               IElem(int k) const;
-  float             FElem(int k) const;
-  double            DElem(int k) const;
-  
-  T*                p;
-  int               nElt;
-  
-private:
-  int           nImgRef;    // Combien d'images font reference au meme RzVect ?
-                                                // Le constructeur le met a *** 1 ***
-                                                // Donc une image doit le changer lorsqu'elle pointe sans allouer.
-  int           shareable;  // Dit si le RzVect peut etre partage. Mis a 0 par exemple si
-                            // le tableau de nombres est en memoire partagee.
-  int           ownTable;   // Dit si le RzVect peut faire delete du tableau.
-};
-
-template <class T>
-inline T& RzVect<T>::operator[](int i)
-{
-  #ifdef RGCHECK
-  if (i<0 || i>=nElt) THROW(rangeCheckErr);
-  #endif
-  return p[i];
-}
-
-template <class T>
-inline const T& RzVect<T>::operator[](int i) const
-{
-  #ifdef RGCHECK
-  if (i<0 || i>=nElt) THROW(rangeCheckErr);
-  #endif
-  return p[i];
-}
-
-template <class T>
-inline int RzVect<T>::IElem(int k) const
-{
-  return (int) (*this)[k];
-}
-
-template <class T>
-inline float RzVect<T>::FElem(int k) const
-{
-  return (float) (*this)[k];
-}
-
-template <class T>
-inline double RzVect<T>::DElem(int k) const
-{
-  return (double) (*this)[k];
-}
-
-#endif
-
Index: trunk/SophyaLib/NTools/simplesort.h
===================================================================
--- trunk/SophyaLib/NTools/simplesort.h	(revision 1318)
+++ trunk/SophyaLib/NTools/simplesort.h	(revision 1371)
@@ -1,5 +1,5 @@
 // This may look like C code, but it is really -*- C++ -*-
 //
-// $Id: simplesort.h,v 1.2 1999-10-21 15:25:52 ansari Exp $
+// $Id: simplesort.h,v 1.3 2001-01-05 17:06:31 ansari Exp $
 //
 
@@ -12,5 +12,7 @@
 #include "peida.h"
 
-class SimpleSort EXC_AWARE {
+namespace SOPHYA {  
+
+class SimpleSort  {
 public:
   SimpleSort(int nElts);
@@ -90,7 +92,5 @@
 }  
 
-
-
-
+} // namespace SOPHYA
 
 #endif // SIMPLESORT_SEEN
Index: trunk/SophyaLib/NTools/tabmath.cc
===================================================================
--- trunk/SophyaLib/NTools/tabmath.cc	(revision 1318)
+++ trunk/SophyaLib/NTools/tabmath.cc	(revision 1371)
@@ -19,5 +19,5 @@
 }
 
-TabFExp* ptabFExp;
+TabFExp* SOPHYA::ptabFExp;
 
 ////////////////////////////////////
@@ -39,3 +39,3 @@
 }
 
-TabFSin* ptabFSin;
+TabFSin* SOPHYA::ptabFSin;
Index: trunk/SophyaLib/NTools/tabmath.h
===================================================================
--- trunk/SophyaLib/NTools/tabmath.h	(revision 1318)
+++ trunk/SophyaLib/NTools/tabmath.h	(revision 1371)
@@ -1,7 +1,15 @@
 // This may look like C code, but it is really -*- C++ -*-
+// Tabulated math functions
+//   E. Aubourg, C. Magneville  1996-2000
+// DAPNIA/SPP (Saclay) / CEA    LAL - IN2P3/CNRS  (Orsay)
+
+#ifndef TABMATH_H_SEEN
+#define TABMATH_H_SEEN
+
 #include <math.h>
 #include "peida.h"
 #include "nbconst.h"
 
+namespace SOPHYA {  
 
 ///////////////////////////////
@@ -9,5 +17,5 @@
 ///////////////////////////////
 
-class TabFExp EXC_AWARE {
+class TabFExp  {
 public:
   TabFExp();
@@ -30,5 +38,5 @@
 ////////////////////////////////////
 
-class TabFSin EXC_AWARE {
+class TabFSin  {
 public:
   TabFSin(int ntab = 0);
@@ -52,2 +60,6 @@
 #define tabFSin(_x_) ((*ptabFSin)(_x_))
 #define tabFCos(_x_) ((*ptabFSin)(_x_+Pis2))
+
+} // namespace SOPHYA
+
+#endif
