Index: trunk/SophyaLib/NTools/integ.cc
===================================================================
--- trunk/SophyaLib/NTools/integ.cc	(revision 2615)
+++ trunk/SophyaLib/NTools/integ.cc	(revision 2808)
@@ -10,33 +10,22 @@
 //     utilisant le (1)
 
-//++
-// Class	Integrator
-// Lib		Outils++ 
-// include	integ.h
-//
-//	Classe abstraite d'intégration numérique 1D.
-//	On fournit une fonction double f(double) au constructeur, ou
-//	une GeneralFunction avec des paramètres définis.
-//	L'objet Integrator est convertible en valeur double qui est la valeur
-//	de l'intégrale. Diverses méthodes permettent de choisir des options
-//	de calcul, et ces méthodes retournent une référence sur l'objet, pour
-//	permettre une notation chaînée.
-//--
-//++ 
-// Links	Implementations
-// TrpzInteg
-// GLInteg
-//--
-
-//++
-// Titre	Constructeurs
-//--
-
-//++
+/*!
+  \ingroup NTools
+  \class SOPHYA::Integrator
+
+  \brief Classe abstraite d'intégration numérique 1D.
+
+  On fournit une fonction double f(double) au constructeur, ou
+  une GeneralFunction avec des paramètres définis.
+  L'objet Integrator est convertible en valeur double qui est la valeur
+  de l'intégrale. Diverses méthodes permettent de choisir des options
+  de calcul, et ces méthodes retournent une référence sur l'objet, pour
+  permettre une notation chaînée.
+
+  \sa TrpzInteg GLInteg
+*/
+
+//!  Constructeur par défaut. L'objet n'est pas utilisable en l'état.
 Integrator::Integrator()
-//
-//	Constructeur par défaut. L'objet n'est pas utilisable en l'état.
-//--
-
 : mFunc(NULL), mGFF(NULL), mGFFParm(NULL),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -44,10 +33,6 @@
 {}
 
-//++
+//! Constructeur à partir de la fonction double->double, et des bornes d'intégration.
 Integrator::Integrator(FUNC f, double xmin, double xmax)
-//
-//	Constructeur à partir de la fonction double->double, et des
-//	bornes d'intégration.
-//--
 : mFunc(f), mGFF(NULL), mGFFParm(NULL),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -55,9 +40,6 @@
 {}
 
+//! Constructeur à partir de la fonction double->double, et des bornes d'intégration.
 Integrator::Integrator(fun f, double xmin, double xmax)
-//
-//	Constructeur à partir de la fonction double->double, et des
-//	bornes d'intégration.
-//--
 : mFunc(new Function(f)), mGFF(NULL), mGFFParm(NULL),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -66,10 +48,9 @@
 
 
-//++
+/*!
+  Constructeur sans spécifier les bornes. Elles sont positionnées
+  à [0,1], et on pourra les modifier plus tard.
+*/
 Integrator::Integrator(FUNC f)
-// 
-//	Constructeur sans spécifier les bornes. Elles sont positionnées
-//	à [0,1], et on pourra les modifier plus tard.
-//--
 : mFunc(f), mGFF(NULL), mGFFParm(NULL),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -77,10 +58,9 @@
 {}
 
-//++
+/*!
+  Constructeur sans spécifier les bornes. Elles sont positionnées
+  à [0,1], et on pourra les modifier plus tard.
+*/
 Integrator::Integrator(fun f)
-// 
-//	Constructeur sans spécifier les bornes. Elles sont positionnées
-//	à [0,1], et on pourra les modifier plus tard.
-//--
 : mFunc(new Function(f)), mGFF(NULL), mGFFParm(NULL),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -88,11 +68,10 @@
 {}
 
-//++
+/*!
+  Constructeur à partir d'une GeneralFunction. La fonction doit être une
+  fonction de une variable, et on fournit les valeurs des paramètres ainsi
+  que les bornes d'intégration.
+*/
 Integrator::Integrator(GeneralFunction* gff, double* par, double xmin, double xmax)
-//
-//	Constructeur à partir d'une GeneralFunction. La fonction doit être une
-//	fonction de une variable, et on fournit les valeurs des paramètres ainsi
-//	que les bornes d'intégration.
-//--
 : mFunc(NULL), mGFF(gff), mGFFParm(par),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -102,12 +81,11 @@
 }
 
-//++
+/*!
+  Constructeur à partir d'une GeneralFunction. La fonction doit être une
+  fonction de une variable, et on fournit les valeurs des paramètres. 
+  On ne spécifie pas les bornes. Elles sont positionnées
+  à [0,1], et on pourra les modifier plus tard.
+*/
 Integrator::Integrator(GeneralFunction* gff, double* par)
-//
-//	Constructeur à partir d'une GeneralFunction. La fonction doit être une
-//	fonction de une variable, et on fournit les valeurs des paramètres. 
-//	On ne spécifie pas les bornes. Elles sont positionnées
-//	à [0,1], et on pourra les modifier plus tard.
-//--
 : mFunc(NULL), mGFF(gff), mGFFParm(par),
   mNStep(50), mDX(-1), mReqPrec(-1),
@@ -120,15 +98,11 @@
 {if(mFunc) delete mFunc;}
 
-//++
-// Titre	Méthodes
-//--
-
-//++
+/*! 
+  \brief Spécifie le nombre de pas pour l'intégration numérique.
+  
+  La signification peut dépendre de la méthode d'intégration.
+*/
 Integrator& 
 Integrator::NStep(int n)
-//
-//	Spécifie le nombre de pas pour l'intégration numérique.
-//	La signification peut dépendre de la méthode d'intégration.
-//--
 {
   mNStep = n;
@@ -138,11 +112,11 @@
 }
 
-//++
+/*! 
+  \brief Spécifie le nombre de pas pour l'intégration numérique.
+  
+  La signification peut dépendre de la méthode d'intégration.
+*/
 Integrator& 
 Integrator::DX(double d)
-//
-//	Spécifie le pas d'intégration.
-//	La signification peut dépendre de la méthode d'intégration.
-//--
 {
   mDX = d;
@@ -152,12 +126,12 @@
 }
 
-//++
+/*!
+  \brief Spécifie la précision souhaitée. 
+
+  La signification peut dépendre de la méthode d'intégration.
+  Non disponible dans toutes les méthodes d'intégration.
+*/
 Integrator& 
 Integrator::ReqPrec(double p)
-//
-//	Spécifie la précision souhaitée. 
-//	La signification peut dépendre de la méthode d'intégration.
-//	Non disponible dans toutes les méthodes d'intégration.
-//--
 {
   DBASSERT( !"Pas encore implemente !");
@@ -168,10 +142,7 @@
 }
 
-//++
+//! Spécifie les bornes de l'intégrale.
 Integrator& 
 Integrator::Limits(double xmin, double xmax)
-//
-//	Spécifie les bornes de l'intégrale.
-//--
 {
   mXMin = xmin;
@@ -181,10 +152,7 @@
 }
 
-//++
+//! Spécifie la fonction à intégrer, sous forme double f(double).
 Integrator& 
 Integrator::Func(FUNC f)
-//
-//	Spécifie la fonction à intégrer, sous forme double f(double).
-//--
 {
   mFunc = f;
@@ -195,11 +163,10 @@
 }
 
-//++
+/*!
+  \brief Spécifie la fonction à intégrer, sous forme de GeneralFunction 
+  à une variable, et les paramètres sont fournis.
+*/
 Integrator& 
 Integrator::Func(GeneralFunction* gff, double* par)
-//
-//	Spécifie la fonction à intégrer, sous forme de GeneralFunction
-//	à une variable, et les paramètres sont fournis.
-//--
 {
   mGFF = gff;
@@ -234,69 +201,44 @@
 }
 
-//++
-// Class	TrpzInteg
-// Lib		Outils++ 
-// include	integ.h
-//
-//	Classe d'intégration par la méthode des trapèzes.
-//	Voir Integrator pour les méthodes. Le nombre de pas
-//	est le nombre de trapèze, le pas d'intégration est
-//	la largeur des trapèzez. Impossible de demander une
-//	précision.
-//
-//--
-//++
-// Links	Parents
-// Integrator
-//--
-
-//++
-// Titre	Constructeurs
-//	Voir Integrator pour les détails.
-//--
-
-//++
+/*!
+  \ingroup NTools
+  \class SOPHYA::TrpzInteg
+
+  \brief Implementation de Integrator par la methode des trapezes.
+  
+  Classe d'intégration par la méthode des trapèzes.
+  Voir Integrator pour les méthodes. Le nombre de pas
+  est le nombre de trapèze, le pas d'intégration est
+  la largeur des trapèzez. Impossible de demander une
+  précision.
+  
+  \sa SOPHYA::Integrator
+*/
+
+
 TrpzInteg::TrpzInteg()
-//
-//--
-{}
-
-//++
+{}
+
 TrpzInteg::TrpzInteg(FUNC f, double xmin, double xmax)
-//
-//--
 : Integrator(f, xmin, xmax)
 {}
-//++
+
 TrpzInteg::TrpzInteg(fun f, double xmin, double xmax)
-//
-//--
 : Integrator(f, xmin, xmax)
 {}
 
-//++
 TrpzInteg::TrpzInteg(FUNC f)
-//
-//--
 : Integrator(f)
 {}
 
 TrpzInteg::TrpzInteg(fun f)
-//
-//--
 : Integrator(f)
 {}
 
-//++
 TrpzInteg::TrpzInteg(GeneralFunction* gff, double* par, double xmin, double xmax)
-//
-//--
 : Integrator(gff, par, xmin, xmax)
 {}
 
-//++
 TrpzInteg::TrpzInteg(GeneralFunction* gff, double* par)
-//
-//--
 : Integrator(gff, par)
 {}
@@ -305,4 +247,5 @@
 {}
 
+//! Return the value of the integral.
 double
 TrpzInteg::Value()
@@ -329,68 +272,52 @@
 
 
-//++
-// Class	GLInteg
-// Lib		Outils++ 
-// include	integ.h
-//
-//	Classe d'intégration par la méthode de Gauss-Legendre.
-//	Voir Integrator pour les méthodes. 
-//	Pour le moment, nstep est l'ordre de la méthode.
-//	Il est prévu un jour de spécifier l'ordre, et que NStep
-//	découpe en intervalles sur chacun desquels on applique GL.
-//	Le principe de la méthode est de calculer les valeurs de la 
-//	fonction aux zéros des polynomes de Legendre. Avec les poids
-//	qui vont bien, GL d'ordre n est exacte pour des polynomes de 
-//	degré <= 2n+1 (monome le + haut x^(2*n-1).
-//	Impossible de demander une précision donnée.
-//
-//--
-//++
-// Links	Parents
-// Integrator
-//--
-
-//++
-// Titre	Constructeurs
-//	Voir Integrator pour les détails.
-//--
-
-
-
-
-//++
+/*!
+  \ingroup NTools
+  \class SOPHYA::GLInteg
+  
+  \brief Implementation de Integrator par la methode de Gauss-Legendre.
+
+  Classe d'intégration par la méthode de Gauss-Legendre.
+  Voir Integrator pour les méthodes. 
+  Pour le moment, nstep est l'ordre de la méthode.
+  Il est prévu un jour de spécifier l'ordre, et que NStep
+  découpe en intervalles sur chacun desquels on applique GL.
+  Le principe de la méthode est de calculer les valeurs de la 
+  fonction aux zéros des polynomes de Legendre. Avec les poids
+  qui vont bien, GL d'ordre n est exacte pour des polynomes de 
+  degré <= 2n+1 (monome le + haut x^(2*n-1).
+  Impossible de demander une précision donnée.
+
+  \sa SOPHYA::Integrator
+
+  \warning statut EXPERIMENTAL , NON TESTE
+*/
+
+
+
 GLInteg::GLInteg()
-//
-//--
 : mXPos(NULL), mWeights(NULL)
 {}
 
 
-//++
 GLInteg::GLInteg(FUNC f, double xmin, double xmax)
-//
-//--
 : Integrator(f, xmin, xmax), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
   NStep(1);
 }
+
 GLInteg::GLInteg(fun f, double xmin, double xmax)
-//
-//--
 : Integrator(f, xmin, xmax), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
   NStep(1);
 }
-//++
+
 GLInteg::GLInteg(FUNC f)
-//
-//--
 : Integrator(f), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
   NStep(1);
 }
+
 GLInteg::GLInteg(fun f)
-//
-//--
 : Integrator(f), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
@@ -398,8 +325,5 @@
 }
 
-//++
 GLInteg::GLInteg(GeneralFunction* gff, double* par, double xmin, double xmax)
-//
-//--
 : Integrator(gff, par, xmin, xmax), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
@@ -407,8 +331,5 @@
 }
 
-//++
 GLInteg::GLInteg(GeneralFunction* gff, double* par)
-//
-//--
 : Integrator(gff, par), mXPos(NULL), mWeights(NULL), mOrder(8)
 {
@@ -453,4 +374,5 @@
 
 
+//! Definit l'ordre de la methode d'integration Gauus-Legendre
 GLInteg&
 GLInteg::SetOrder(int order)
@@ -462,5 +384,5 @@
 
 
-
+//! Retourne la valeur de l'integrale
 double
 GLInteg::Value()
@@ -527,4 +449,5 @@
 }
 
+//! Imprime l'ordre et la valeur des poids sur cout
 void
 GLInteg::Print(int lp)
