Index: trunk/SophyaLib/HiStats/Makefile
===================================================================
--- trunk/SophyaLib/HiStats/Makefile	(revision 3122)
+++ trunk/SophyaLib/HiStats/Makefile	(revision 3123)
@@ -173,36 +173,28 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h \
-  histinit.h \
-  $(SOPHYAINCP)ntoolsinit.h \
-  $(SOPHYAINCP)tarrinit.h \
-  $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)perrors.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)fioarr.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   histerr.h $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  histos.h $(SOPHYAINCP)peida.h \
-  $(SOPHYAINCP)utils.h \
-  $(SOPHYAINCP)perrors.h \
-  $(SOPHYAINCP)fmath.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)perrors.h
+  $(SOPHYAINCP)tvector.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  histerr.cc
  
Index: trunk/SophyaLib/HiStats/hist2err.h
===================================================================
--- trunk/SophyaLib/HiStats/hist2err.h	(revision 3122)
+++ trunk/SophyaLib/HiStats/hist2err.h	(revision 3123)
@@ -9,7 +9,11 @@
 namespace SOPHYA {
 
+//  Forward class declaration for Fits handler
+template <class T>  class FitsHandler;
+
 //! 2 dimensions histograms with errors given by user
 class Histo2DErr : public AnyDataObj {
   friend class ObjFileIO<Histo2DErr>;
+  friend class FitsHandler<Histo2DErr>;
 public:
 
@@ -40,4 +44,8 @@
     {
     if(i<0 || i>=nx_ || j<0 || j>=ny_) return 0.;
+    return data_(i,j);
+    }
+  inline r_8& operator()(int_4 i,int_4 j)
+    {
     return data_(i,j);
     }
@@ -89,5 +97,5 @@
   inline void AddBin(int_4 i,int_4 j) {AddBin(i,j,1.,1.);}
 
-  //! remplissage contenu de l'histo pour le bin numBin poids w et l'erreur e
+  //! remplissage contenu de l'histo pour le bin i poids w et l'erreur e
   inline void SetBin(int_4 i,int_4 j, r_8 w, r_8 e, r_8 nb)
     {
@@ -100,5 +108,11 @@
   inline void SetBin(int_4 i,int_4 j, r_8 w) {SetBin(i,j,w,1.,1.);}
   inline void SetBin(int_4 i,int_4 j) {SetBin(i,j,1.,1.,1.);}
-  //! remplissage nombre d'entrees pour le bin numBin
+  //! remplissage de l'erreur carree pour le bin i
+  void SetErr2(int_4 i,int_4 j, r_8 e2)
+    {
+    if(i<0 || i>=nx_) return;
+    err2_(i,j) = e2;
+    }
+  //! remplissage nombre d'entrees pour le bin i
   void SetNentB(int_4 i,int_4 j, r_8 nb)
     {
Index: trunk/SophyaLib/HiStats/histerr.cc
===================================================================
--- trunk/SophyaLib/HiStats/histerr.cc	(revision 3122)
+++ trunk/SophyaLib/HiStats/histerr.cc	(revision 3123)
@@ -4,7 +4,7 @@
 #include <stdio.h>
 #include <math.h>
-#include "histinit.h"
+#include "perrors.h"
+#include "fioarr.h"
 #include "histerr.h"
-#include "perrors.h"
 
 /*!
@@ -17,14 +17,15 @@
 /*! Constructeur par defaut */
 HistoErr::HistoErr(void)
-: Histo(), mNData(NULL), mCorrel(0)
-{
-}
-
-/********* Methode *********/
-/*! Constructeur d'un histo de nBin bins allant de xMin a xMax */
-HistoErr::HistoErr(r_8 xMin, r_8 xMax, int_4 nBin)
-: Histo(), mNData(NULL)
-{
-  CreateOrResize(xMin,xMax,nBin);
+: xmin_(1.), xmax_(-1.), nx_(0), dx_(0.)
+, mCorrel(0)
+{
+}
+
+/********* Methode *********/
+/*! Constructeur d'un histo */
+HistoErr::HistoErr(r_8 xmin,r_8 xmax,int_4 nx)
+: mCorrel(0)
+{
+  CreateOrResize(xmin,xmax,nx);
 }
 
@@ -32,7 +33,11 @@
 /*! Constructeur par copie */
 HistoErr::HistoErr(const HistoErr& H)
-: Histo(H), mNData((H.mBins>0)? new r_8[H.mBins] : NULL), mCorrel(H.mCorrel)
-{
- if(mNData>0) memcpy(mNData,H.mNData,mBins*sizeof(r_8));
+: mCorrel(H.mCorrel)
+{
+ if(H.nx_<=0) return;
+ CreateOrResize(H.xmin_,H.xmax_,H.nx_);
+ data_  = H.data_; 
+ err2_  = H.err2_; 
+ ndata_ = H.ndata_; 
 }
 
@@ -41,32 +46,22 @@
 HistoErr::~HistoErr(void)
 {
- Delete();
+ mCorrel = 0;
 }
 
 /********* Methode *********/
 /*! Gestion de l'allocation */
-void HistoErr::CreateOrResize(r_8 xMin, r_8 xMax, int_4 nBin)
-{
-  //cout<<"HistoErr::CreateOrResize()"<<endl;
-  bool samelen = (nBin==mBins)? true: false;
-  Histo::CreateOrResize(xMin,xMax,nBin);
-  Histo::Errors();
-  if(mNData!=NULL && !samelen) {delete [] mNData; mNData=NULL;}
-  if(nBin>0 && mNData==NULL) mNData = new r_8[nBin];
-  if(mNData) memset(mNData,0,nBin*sizeof(r_8));
+void HistoErr::CreateOrResize(r_8 xmin,r_8 xmax,int_4 nx)
+{
+  xmin_ = xmin; xmax_ = xmax; nx_ = nx; dx_=0.;
+  if(nx_>0) {
+    data_.ReSize(nx_);  data_ = 0.;
+    err2_.ReSize(nx_);  err2_ = 0.;
+    ndata_.ReSize(nx_); ndata_ = 0.;
+    dx_ = (xmax_-xmin_)/nx_;
+  }
   mCorrel = 0;
 }
 
 /********* Methode *********/
-/*! Delete des tableaux */
-void HistoErr::Delete(void)
-{
-  //cout<<"HistoErr::Delete()"<<endl;
-  Histo::Delete();
-  if(mNData) {delete [] mNData; mNData=NULL;}
-  mCorrel = 0;
-}
-
-/********* Methode *********/
 /*!
   Remise a zero
@@ -74,50 +69,26 @@
 void HistoErr::Zero(void)
 {
-  Histo::Zero();
-  if(mNData) memset(mNData,0,mBins*sizeof(r_8));
-  mCorrel = 0;
-}
-
-/********* Methode *********/
-/*!
- Remplissage du contenu de l'histo pour le bin numBin poids w et l'erreur e
-*/
-void HistoErr::SetBin(int_4 numBin, r_8 w, r_8 e, r_8 nb)
-{
-Histo::SetBin(numBin,w);
-Histo::SetErr2(numBin,e*e);
-SetNentB(numBin,nb);
-return;
-}
-
-/********* Methode *********/
-/*!
- Remplissage nombre d'entrees pour le bin numBin
-*/
-void HistoErr::SetNentB(int_4 numBin, r_8 nb)
-{
- if(numBin>=0 && numBin<mBins) mNData[numBin] = nb;
-return;
-}
-
-/*!
-  Remplissage d'un tableau avec les nombres d'entrees dans le bin de l'histo
-*/
-void HistoErr::GetNBin(TVector<r_8>& v) const
-{
-v.Realloc(mBins);
-for(int_4 i=0;i<mBins;i++) v(i) = mNData[i];
-return;
-}
-
-/********* Methode *********/
-/*!
-  Remplissage du nombre d'entrees dans les bins de l'histo avec les valeurs d'un vecteur
-*/
-void HistoErr::PutNBin(TVector<r_8> &v)
-{
-int_4 n = (v.NElts()<mBins) ? v.NElts(): mBins;
-if(n>0) for(int_4 i=0;i<n;i++) mNData[i] = v(i);
-return;
+ if(nx_<=0) return;
+ data_ = 0.;
+ err2_ = 0.;
+ ndata_ = 0.;
+}
+
+/********* Methode *********/
+/*!
+ Recompute XMin (and XMax so that
+ the CENTER of the first bin is exactly XMin and
+ the CENTER of the last bin is exactly XMax.
+ Remember that otherwise
+ XMin is the beginning of the first bin
+ and XMax is the end of the last bin
+*/
+void HistoErr::ReCenterBin(void)
+{
+ if(nx_<=1) return;
+ double dx = (xmax_-xmin_)/(nx_-1);
+ xmin_ -= dx/2.;
+ xmax_ += dx/2.;
+ dx_ = (xmax_-xmin_)/nx_;
 }
 
@@ -132,10 +103,10 @@
 void HistoErr::ToCorrel(void)
 {
- if(mBins<1) return;
+ if(nx_<1) return;
  mCorrel++;
- for(int_4 i=0;i<mBins;i++) {
-   if(mNData[i]<1.) continue;
-   mData[i] /= mNData[i];
-   mErr2[i] /= mNData[i];
+ for(int_4 i=0;i<nx_;i++) {
+   if(ndata_(i)<1.) continue;
+   data_(i) /= ndata_(i);
+   err2_(i) /= ndata_(i);
  }
  return;
@@ -148,10 +119,10 @@
 void HistoErr::FromCorrel(void)
 {
- if(mBins<1) return;
+ if(nx_<1) return;
  mCorrel--;
- for(int_4 i=0;i<mBins;i++) {
-   if(mNData[i]<1.) continue;
-   mData[i] *= mNData[i];
-   mErr2[i] *= mNData[i];
+ for(int_4 i=0;i<nx_;i++) {
+   if(ndata_(i)<1.) continue;
+   data_(i) *= ndata_(i);
+   err2_(i) *= ndata_(i);
  }
  return;
@@ -164,20 +135,16 @@
 void HistoErr::FillFrHErr(HistoErr& hfrom)
 {
- if(mBins<=0) return;
- if(hfrom.mBins<=0) return;
+ if(nx_<=0) return;
+ if(hfrom.nx_<=0) return;
 
  Zero();
 
- for(int_4 i=0;i<hfrom.mBins;i++) {
-   int numBin = FindBin(hfrom.BinCenter(i));
-   if(numBin<0) mUnder += hfrom.mData[i];
-   else if(numBin>=mBins) mOver += hfrom.mData[i];
-   else {
-     mData[numBin]  += hfrom.mData[i];
-     mNData[numBin] += hfrom.mNData[i];
-     mErr2[numBin]  += hfrom.mErr2[i];
-     nHist          += hfrom.mData[i];
-     nEntries++;
-   }
+ for(int_4 i=0;i<hfrom.nx_;i++) {
+   r_8 x = hfrom.BinCenter(i);
+   int ii = FindBin(x);
+   if(ii<0 || ii>=nx_) continue;
+   data_(ii)  += hfrom.data_(ii);
+   err2_(ii)  += hfrom.err2_(ii);
+   ndata_(ii) += hfrom.ndata_(ii);
  }
  mCorrel = hfrom.mCorrel;
@@ -192,12 +159,9 @@
 {
   if(this==&h) return *this;
-  CreateOrResize(h.mMin,h.mMax,h.mBins);
-  if(mData) memcpy(mData,h.mData,mBins*sizeof(r_8));
-  if(mErr2) memcpy(mErr2,h.mErr2,mBins*sizeof(r_8));
-  mUnder = h.mUnder; mOver = h.mOver;
-  nHist = h.nHist; nEntries = h.nEntries;
-  if(mNData) memcpy(mNData,h.mNData,mBins*sizeof(r_8));
+  CreateOrResize(h.xmin_,h.xmax_,h.nx_);
+  data_  = h.data_;
+  err2_  = h.err2_;
+  ndata_ = h.ndata_;
   mCorrel = h.mCorrel;
-
   return *this;
 }
@@ -209,6 +173,6 @@
 void HistoErr::Show(ostream & os) const
 {
-  Histo::Show(os);
-  os <<"       ncorrel="<<mCorrel<< endl;
+  os <<"HistoErr(ncorrel="<<mCorrel<<")"<<endl
+     <<"          nx="<<nx_<<" ["<<xmin_<<","<<xmax_<<"] dx="<<dx_<<endl;
 }
 
@@ -224,6 +188,5 @@
 string strg;
 
-if(dobj==NULL) dobj=new HistoErr;
-  else         dobj->Delete();
+if(dobj==NULL) dobj = new HistoErr;
 
 // Lecture entete
@@ -233,11 +196,16 @@
 is.Get(dobj->mCorrel);
 
-// Lecture des donnees HistoErr
-is.Get(dobj->mBins);
-if(dobj->mBins>0) dobj->mNData = new r_8[dobj->mBins];
-is.Get(dobj->mNData, dobj->mBins);
-
-// Lecture de l'histogramme
-is >> (Histo&)(*dobj);
+// Lecture des parametres HistoErr
+is.Get(dobj->xmin_);
+is.Get(dobj->xmax_);
+is.Get(dobj->nx_);
+is.Get(dobj->dx_);
+
+// Lecture des donnees
+if(dobj->nx_>0) {
+  is >> dobj->data_;
+  is >> dobj->err2_;
+  is >> dobj->ndata_;
+}
 
 return;
@@ -257,12 +225,16 @@
 os.Put(dobj->mCorrel);
 
-// Ecriture des valeurs
-os.Put(dobj->mBins);
-
-// Ecriture des donnees HistoErr nombre d entree par bin
-os.Put(dobj->mNData, dobj->mBins);
-
-// Ecriture de l'histogramme
-os << (Histo&)(*dobj);
+// Ecriture des parametres HistoErr
+os.Put(dobj->xmin_);
+os.Put(dobj->xmax_);
+os.Put(dobj->nx_);
+os.Put(dobj->dx_);
+
+// Ecriture des donnees
+if(dobj->nx_>0) {
+  os << dobj->data_;
+  os << dobj->err2_;
+  os << dobj->ndata_;
+}
 
 return;
Index: trunk/SophyaLib/HiStats/histerr.h
===================================================================
--- trunk/SophyaLib/HiStats/histerr.h	(revision 3122)
+++ trunk/SophyaLib/HiStats/histerr.h	(revision 3123)
@@ -5,5 +5,5 @@
 #include <iostream>
 #include <stdio.h>
-#include "histos.h"
+#include "tvector.h"
 
 namespace SOPHYA {
@@ -12,58 +12,103 @@
 template <class T>  class FitsHandler;
 
-//! 1 dimension histograms with errors given by user
-class HistoErr : public Histo {
+
+//! 1 dimensions histograms with errors given by user
+class HistoErr : public AnyDataObj {
   friend class ObjFileIO<HistoErr>;
-  friend class FitsHandler<Histo>;
+  friend class FitsHandler<HistoErr>;
 public:
 
-  // CREATOR / DESTRUCTOR
+  //! Create or destroy
   HistoErr(void);
-  HistoErr(r_8 xMin, r_8 xMax, int_4 nBin=100);
+  HistoErr(r_8 xmin,r_8 xmax,int_4 nx);
   HistoErr(const HistoErr& H);
   virtual ~HistoErr(void);
 
-  // UPDATING or SETTING
+  //! Updating or Setting
+  void ReCenterBin(void);
   void Zero(void);
-  //! Addition du contenu de l'histo pour abscisse x poids w et l'erreur e
-  inline void Add(r_8 x, r_8 w, r_8 e)
-  {
-  int_4 numBin = (int_4)floor((x-mMin)/binWidth);
-  if(numBin<0) mUnder += w;
-  else if(numBin>=mBins) mOver += w;
-  else {
-    mData[numBin] += w; mNData[numBin] += 1.; mErr2[numBin] += e*e;
-    nHist += w; nEntries++;
-  }
-  }
-  inline void Add(r_8 x, r_8 w) {Add(x,w,1.);}
-  inline void Add(r_8 x) {Add(x,1.,1.);}
-  //! Addition du contenu de l'histo pour le bin numBin poids w et l'erreur e
-  inline void AddBin(int_4 numBin, r_8 w, r_8 e)
-  {
-  if(numBin<0) mUnder += w;
-  else if(numBin>=mBins) mOver += w;
-  else {
-    mData[numBin] += w; mNData[numBin] += 1.; mErr2[numBin] += e*e;
-    nHist += w; nEntries++;
-  }
-  }
-  inline void AddBin(int_4 numBin, r_8 w) {AddBin(numBin,w,1.);}
-  inline void AddBin(int_4 numBin) {AddBin(numBin,1.,1.);}
-  //! remplissage contenu de l'histo pour le bin numBin poids w et l'erreur e
-  void SetBin(int_4 numBin, r_8 w, r_8 e, r_8 nb);
-  inline void SetBin(int_4 numBin, r_8 w, r_8 e) {SetBin(numBin,w,e,1.);}
-  inline void SetBin(int_4 numBin, r_8 w) {SetBin(numBin,w,1.,1.);}
-  inline void SetBin(int_4 numBin) {SetBin(numBin,1.,1.,1.);}
-  //! remplissage nombre d'entrees pour le bin numBin
-  void SetNentB(int_4 numBin, r_8 nb=1.);
+
+  //! Getting Info
+  int_4 NBins(void) {return nx_;}
+  r_8 XMin(void) {return xmin_;}
+  r_8 XMax(void) {return xmax_;}
+  r_8 BinWidth(void) {return dx_;}
+
+  //! Retourne le contenu du bin
+  inline r_8 operator()(int_4 i) const
+    {
+    if(i<0 || i>=nx_) return 0.;
+    return data_(i);
+    }
+  inline r_8& operator()(int_4 i)
+    {
+    return data_(i);
+    }
+
+  //! Retourne le nombre l'erreur au carre dans le bin
+  inline r_8 Error2(int_4 i) const
+    {
+    if(i<0 || i>=nx_) return 0.;
+    return err2_(i);
+    }
 
   //! Retourne le nombre d'entree dans le bin
   inline r_8 NEntBin(int_4 i) const
-         {if(mNData) return mNData[i]; else return 0.;}
+    {
+    if(i<0 || i>=nx_) return 0.;
+    return ndata_(i);
+    }
 
-  //! get/put from/to a vector
-  void GetNBin(TVector<r_8>& v) const;
-  void PutNBin(TVector<r_8>& v);
+  //! Retourne l'abscisse et l'ordonnee du coin inferieur du bin i.
+  inline r_8 BinLowEdge(int_4 i) const {return xmin_ + i*dx_;}
+  //! Retourne l'abscisse et l'ordonnee du centre du bin i.
+  inline r_8 BinCenter(int_4 i) const  {return xmin_ + (i+0.5)*dx_;}
+  //! Retourne l'abscisse et l'ordonnee du coin superieur du bin i.
+  inline r_8 BinHighEdge(int_4 i) const {return xmin_ + (i+1)*dx_;}
+  //! Retourne les numeros du bin contenant l'abscisse et l'ordonnee x,y.
+  inline int_4 FindBin(r_8 x) const {return (int_4)floor((x-xmin_)/dx_);}
+
+  //! Addition du contenu de l'histo pour abscisse x poids w et l'erreur e
+  inline void Add(r_8 x, r_8 w, r_8 e)
+    {
+    int_4 i = FindBin(x);
+    if(i<0 || i>=nx_) return;
+    data_(i) += w; ndata_(i) += 1.; err2_(i) += e*e;
+    }
+  inline void Add(r_8 x, r_8 w) {Add(x,w,1.);}
+  inline void Add(r_8 x) {Add(x,1.,1.);}
+
+  //! Addition du contenu de l'histo pour le bin i poids w et l'erreur e
+  inline void AddBin(int_4 i, r_8 w, r_8 e)
+    {
+    if(i<0 || i>=nx_) return;
+    data_(i) += w; ndata_(i) += 1.; err2_(i) += e*e;
+    }
+  inline void AddBin(int_4 i, r_8 w) {AddBin(i,w,1.);}
+  inline void AddBin(int_4 i) {AddBin(i,1.,1.);}
+
+  //! remplissage contenu de l'histo pour le bin i poids w et l'erreur e
+  inline void SetBin(int_4 i, r_8 w, r_8 e, r_8 nb)
+    {
+    if(i<0 || i>=nx_) return;
+    data_(i)  = w;
+    err2_(i)  = e*e;
+    ndata_(i) = nb;
+    }
+  inline void SetBin(int_4 i, r_8 w, r_8 e) {SetBin(i,w,e,1.);}
+  inline void SetBin(int_4 i, r_8 w) {SetBin(i,w,1.,1.);}
+  inline void SetBin(int_4 i) {SetBin(i,1.,1.,1.);}
+  //! remplissage de l'erreur carree pour le bin i
+  void SetErr2(int_4 i, r_8 e2)
+    {
+    if(i<0 || i>=nx_) return;
+    err2_(i) = e2;
+    }
+  //! remplissage nombre d'entrees pour le bin i
+  void SetNentB(int_4 i, r_8 nb)
+    {
+    if(i<0 || i>=nx_) return;
+    ndata_(i) = nb;
+    }
 
   //! Compute the correlation histogram
@@ -76,4 +121,9 @@
   void FillFrHErr(HistoErr& hfrom);
 
+  //! Recuperation des matrices elementaires
+  inline void GetData(TVector<r_8>& data) {data = data_;}
+  inline void GetError2(TVector<r_8>& err2) {err2 = err2_;}
+  inline void GetNData(TVector<r_8>& ndata) {ndata = ndata_;}
+
   // Operators
   HistoErr& operator = (const HistoErr& h);
@@ -84,8 +134,11 @@
 
 protected:
-  void CreateOrResize(r_8 xMin, r_8 xMax, int_4 nBin);
-  void Delete(void);
+  void CreateOrResize(r_8 xmin,r_8 xmax,int_4 nx);
 
-  r_8* mNData;    //!< nombre d'entrees dans chaque bin
+  r_4 xmin_,xmax_,dx_;
+  int_4 nx_;
+  TVector<r_8> data_;
+  TVector<r_8> err2_;
+  TVector<r_8> ndata_;
   int_4 mCorrel;  //!< Nombre d'appels a ToCorrel(+1) ou FromCorrel(-1)
 };
Index: trunk/SophyaLib/HiStats/smakefile
===================================================================
--- trunk/SophyaLib/HiStats/smakefile	(revision 3122)
+++ trunk/SophyaLib/HiStats/smakefile	(revision 3123)
@@ -173,36 +173,28 @@
   $(SOPHYAINCP)sopnamsp.h \
   $(SOPHYAINCP)machdefs.h \
-  histinit.h \
-  $(SOPHYAINCP)ntoolsinit.h \
-  $(SOPHYAINCP)tarrinit.h \
-  $(SOPHYAINCP)sophyainit.h \
-  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)perrors.h \
+  $(SOPHYAINCP)pexceptions.h \
+  $(SOPHYAINCP)machdefs.h \
+  $(SOPHYAINCP)fioarr.h \
+  $(SOPHYAINCP)tarray.h \
+  $(SOPHYAINCP)basarr.h \
+  $(SOPHYAINCP)anydataobj.h \
+  $(SOPHYAINCP)mutyv.h \
+  $(SOPHYAINCP)timestamp.h \
+  $(SOPHYAINCP)objfio.h \
+  $(SOPHYAINCP)ppersist.h \
+  $(SOPHYAINCP)gnumd5.h \
+  $(SOPHYAINCP)ppfbinstream.h \
+  $(SOPHYAINCP)rawstream.h \
+  $(SOPHYAINCP)ppfnametag.h \
+  $(SOPHYAINCP)dvlist.h \
+  $(SOPHYAINCP)ndatablock.h \
+  $(SOPHYAINCP)utilarr.h \
+  $(SOPHYAINCP)tmatrix.h \
+  $(SOPHYAINCP)tmatrix_tsnl.h \
+  $(SOPHYAINCP)tvector.h \
+  $(SOPHYAINCP)tvector_tsnl.h \
   histerr.h $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)pexceptions.h \
-  $(SOPHYAINCP)gnumd5.h \
-  $(SOPHYAINCP)ppfbinstream.h \
-  $(SOPHYAINCP)rawstream.h \
-  $(SOPHYAINCP)ppfnametag.h \
-  histos.h $(SOPHYAINCP)peida.h \
-  $(SOPHYAINCP)utils.h \
-  $(SOPHYAINCP)perrors.h \
-  $(SOPHYAINCP)fmath.h \
-  $(SOPHYAINCP)tvector.h \
-  $(SOPHYAINCP)tmatrix.h \
-  $(SOPHYAINCP)tarray.h \
-  $(SOPHYAINCP)basarr.h \
-  $(SOPHYAINCP)mutyv.h \
-  $(SOPHYAINCP)timestamp.h \
-  $(SOPHYAINCP)objfio.h \
-  $(SOPHYAINCP)dvlist.h \
-  $(SOPHYAINCP)ndatablock.h \
-  $(SOPHYAINCP)utilarr.h \
-  $(SOPHYAINCP)tmatrix_tsnl.h \
-  $(SOPHYAINCP)tvector_tsnl.h \
-  $(SOPHYAINCP)ppersist.h \
-  $(SOPHYAINCP)anydataobj.h \
-  $(SOPHYAINCP)perrors.h
+  $(SOPHYAINCP)tvector.h
 	$(CXXCOMPILE) $(CXXTEMPFLG) -o $@  histerr.cc
  
