Index: trunk/SophyaLib/HiStats/histos.cc
===================================================================
--- trunk/SophyaLib/HiStats/histos.cc	(revision 1092)
+++ trunk/SophyaLib/HiStats/histos.cc	(revision 1109)
@@ -1,4 +1,4 @@
 //
-// $Id: histos.cc,v 1.10 2000-07-26 13:15:15 ansari Exp $
+// $Id: histos.cc,v 1.11 2000-07-28 16:29:54 ansari Exp $
 //
 
@@ -11,5 +11,4 @@
 #include "poly.h"
 #include "strutil.h"
-#include "generalfit.h"
 
 /*!
@@ -295,5 +294,5 @@
   Remplissage d'un tableau avec la valeur des abscisses
 */
-void Histo::GetAbsc(TVector<r_8> &v)
+void Histo::GetAbsc(TVector<r_8> &v) const
 {
 v.Realloc(mBins);
@@ -305,5 +304,5 @@
   Remplissage d'un tableau avec la valeur du contenu
 */
-void Histo::GetValue(TVector<r_8> &v)
+void Histo::GetValue(TVector<r_8> &v) const
 {
 v.Realloc(mBins);
@@ -315,5 +314,5 @@
   Remplissage d'un tableau avec la valeur des erreurs au carre
 */
-void Histo::GetError2(TVector<r_8> &v)
+void Histo::GetError2(TVector<r_8> &v) const
 {
 v.Realloc(mBins);
@@ -326,5 +325,5 @@
   Remplissage d'un tableau avec la valeur des erreurs
 */
-void Histo::GetError(TVector<r_8> &v)
+void Histo::GetError(TVector<r_8> &v) const
 {
 v.Realloc(mBins);
@@ -764,5 +763,5 @@
   \endverbatim
 */
-int_4 Histo::BinPercent(r_8 x,r_8 per,int& imin,int& imax)
+int_4 Histo::BinPercent(r_8 x,r_8 per,int& imin,int& imax) const
 {
 imin = imax = -1;
@@ -792,5 +791,5 @@
   Idem precedent mais renvoie xmin et xmax
 */
-int_4 Histo::BinPercent(r_8 x,r_8 per,r_8& xmin,r_8& xmax)
+int_4 Histo::BinPercent(r_8 x,r_8 per,r_8& xmin,r_8& xmax) const
 {
 xmin = xmax = 0.;
@@ -901,5 +900,5 @@
   consecutifs, le bin le plus a droite est pris.
 */
-int_4 Histo::MaxiLocal(r_8& maxi,int& imax,r_8& maxn,int& imaxn)
+int_4 Histo::MaxiLocal(r_8& maxi,int& imax,r_8& maxn,int& imaxn) const
 {
 int_4 nml = 0;
@@ -1162,5 +1161,5 @@
   Cf suivant mais im est le bin du maximum de l'histo
 */
-int_4 Histo::EstimeMax(r_8& xm,int_4 SzPav)
+int_4 Histo::EstimeMax(r_8& xm,int_4 SzPav) const
 {
 int_4 im = IMax();
@@ -1180,5 +1179,5 @@
   \endverbatim
 */
-int_4 Histo::EstimeMax(int& im,r_8& xm,int_4 SzPav)
+int_4 Histo::EstimeMax(int& im,r_8& xm,int_4 SzPav) const
 {
 xm = 0;
@@ -1212,5 +1211,5 @@
   et a droite (widthD)
 */
-void Histo::EstimeWidthS(r_8 frac,r_8& widthG,r_8& widthD)
+void Histo::EstimeWidthS(r_8 frac,r_8& widthG,r_8& widthD) const
 {
 int_4 i;
@@ -1248,89 +1247,4 @@
 }
 
-}
-
-//////////////////////////////////////////////////////////
-/*!
-  Fit de l'histogramme par ``gfit''.
-  \verbatim
-    typ_err = 0 :
-       - erreur attachee au bin si elle existe
-       - sinon 1
-    typ_err = 1 :
-       - erreur attachee au bin si elle existe
-       - sinon max( sqrt(abs(bin) ,1 )
-    typ_err = 2 :
-       - erreur forcee a 1
-    typ_err = 3 :
-       - erreur forcee a max( sqrt(abs(bin) ,1 )
-    typ_err = 4 :
-       - erreur forcee a 1, nulle si bin a zero.
-    typ_err = 5 :
-       - erreur forcee a max( sqrt(abs(bin) ,1 ),
-         nulle si bin a zero.
-  \endverbatim
-*/
-int_4  Histo::Fit(GeneralFit& gfit,unsigned short typ_err)
-{
-if(NBins()<=0) return -1000;
-if(typ_err>5) typ_err=0;
-
-GeneralFitData mydata(1,NBins());
-
-for(int_4 i=0;i<NBins();i++) {
-  r_8 x =  BinCenter(i);
-  r_8 f =  (*this)(i);
-  r_8 saf = sqrt(fabs( f)); if(saf<1.) saf=1.;
-  r_8 e=0.;
-  if(typ_err==0)      {if(HasErrors()) e=Error(i); else e=1.;}
-  else if(typ_err==1) {if(HasErrors()) e=Error(i); else e=saf;}
-  else if(typ_err==2) e=1.;
-  else if(typ_err==3) e=saf;
-  else if(typ_err==4) e=(f==0.)?0.:1.;
-  else if(typ_err==5) e=(f==0.)?0.:saf;
-  mydata.AddData1(x,f,e);
-}
-
-gfit.SetData(&mydata);
-
-return gfit.Fit();
-}
-
-/*!
-  Retourne une classe contenant les residus du fit ``gfit''.
-*/
-Histo Histo::FitResidus(GeneralFit& gfit)
-{
-if(NBins()<=0)
-  throw(SzMismatchError("Histo::FitResidus: size mismatch\n"));
-GeneralFunction* f = gfit.GetFunction();
-if(f==NULL)
-  throw(NullPtrError("Histo::FitResidus: NULL pointer\n"));
-TVector<r_8> par = gfit.GetParm();
-Histo h(*this);
-for(int_4 i=0;i<NBins();i++) {
-  r_8 x =  BinCenter(i);
-  h(i) -=  f->Value(&x,par.Data());
-}
-return h;
-}
-
-/*!
-  Retourne une classe contenant la fonction du fit ``gfit''.
-*/
-Histo Histo::FitFunction(GeneralFit& gfit)
-{
-if(NBins()<=0)
-  throw(SzMismatchError("Histo::FitFunction: size mismatch\n"));
-GeneralFunction* f = gfit.GetFunction();
-if(f==NULL)
-  throw(NullPtrError("Histo::FitFunction: NULL pointer\n"));
-TVector<r_8> par = gfit.GetParm();
-Histo h(*this);
-for(int_4 i=0;i<NBins();i++) {
-  r_8 x =  BinCenter(i);
-  h(i) =  f->Value(&x,par.Data());
-}
-return h;
 }
 
@@ -1354,5 +1268,5 @@
 */
 void Histo::PrintF(FILE * fp, int_4 hdyn,r_8 hmin, r_8 hmax,int_4 pflag,
-	      int_4 il, int_4 ih)
+	      int_4 il, int_4 ih) const
 {
  
@@ -1512,5 +1426,5 @@
 */
 void Histo::Print(int_4 hdyn,r_8 hmin, r_8 hmax,int_4 pflag,
-	     int_4 il, int_4 ih)
+	     int_4 il, int_4 ih) const
 {
  Histo::PrintF(stdout, hdyn, hmin, hmax, pflag, il, ih);
