Index: trunk/SophyaLib/HiStats/hisprof.cc
===================================================================
--- trunk/SophyaLib/HiStats/hisprof.cc	(revision 2479)
+++ trunk/SophyaLib/HiStats/hisprof.cc	(revision 2507)
@@ -20,5 +20,4 @@
 , SumY(NULL), SumY2(NULL), SumW(NULL), Ok(false), YMin(1.), YMax(-1.), Opt(0)
 {
- END_CONSTRUCTOR
 }
 
@@ -40,5 +39,4 @@
   Histo::Errors();
   Zero();
-  END_CONSTRUCTOR
 }
 
@@ -56,5 +54,4 @@
   Histo::Errors();
   Zero();
-  END_CONSTRUCTOR
 }
 
@@ -76,5 +73,4 @@
   }
   UpdateHisto();
-  END_CONSTRUCTOR
 }
 
@@ -251,5 +247,5 @@
 HProf& HProf::operator += (const HProf& a)
 {
-if(mBins!=a.mBins) THROW(sizeMismatchErr);
+if(mBins!=a.mBins) throw SzMismatchError(PExcLongMessage(""));
 Histo *hthis = (Histo *) this;
 *hthis += (Histo) a;
Index: trunk/SophyaLib/HiStats/hisprof.h
===================================================================
--- trunk/SophyaLib/HiStats/hisprof.h	(revision 2479)
+++ trunk/SophyaLib/HiStats/hisprof.h	(revision 2507)
@@ -98,5 +98,5 @@
 inline HProf operator + (const HProf& a, const HProf& b)
 {
-if (b.NBins()!=a.NBins()) THROW(sizeMismatchErr);
+if (b.NBins()!=a.NBins()) throw SzMismatchError("HProf::operator +");
 HProf c(a);
 return (c += b);
Index: trunk/SophyaLib/HiStats/histos.cc
===================================================================
--- trunk/SophyaLib/HiStats/histos.cc	(revision 2479)
+++ trunk/SophyaLib/HiStats/histos.cc	(revision 2507)
@@ -1,4 +1,4 @@
 //
-// $Id: histos.cc,v 1.16 2003-03-10 14:10:24 ansari Exp $
+// $Id: histos.cc,v 1.17 2004-03-15 16:47:20 ansari Exp $
 //
 
@@ -26,5 +26,4 @@
   binWidth(0)
 {
- END_CONSTRUCTOR
 }
 
@@ -39,5 +38,4 @@
 {
   Zero();
-  END_CONSTRUCTOR
 }
 
@@ -52,5 +50,4 @@
 {
   Zero();
-  END_CONSTRUCTOR
 }
 
@@ -71,5 +68,4 @@
     }
   }
-  END_CONSTRUCTOR
 }
 
@@ -168,5 +164,5 @@
 Histo& Histo::operator /= (r_8 b)
 {
-if (b==0.) THROW(inconsistentErr);
+if (b==0.) throw ParmError(PExcLongMessage(""));
 r_8 b2 = b*b;
 for(int_4 i=0;i<mBins;i++) {
@@ -213,5 +209,5 @@
 Histo& Histo::operator += (const Histo& a)
 {
-if(mBins!=a.mBins) THROW(sizeMismatchErr);
+if(mBins!=a.mBins) throw SzMismatchError(PExcLongMessage(""));
 for(int_4 i=0;i<mBins;i++) {
   mData[i] += a(i);
@@ -231,5 +227,5 @@
 Histo& Histo::operator -= (const Histo& a)
 {
-if(mBins!=a.mBins) THROW(sizeMismatchErr);
+if(mBins!=a.mBins) throw SzMismatchError(PExcLongMessage(""));
 for(int_4 i=0;i<mBins;i++) {
   mData[i] -= a(i);
@@ -249,5 +245,5 @@
 Histo& Histo::operator *= (const Histo& a)
 {
-if(mBins!=a.mBins) THROW(sizeMismatchErr);
+if(mBins!=a.mBins) throw SzMismatchError(PExcLongMessage(""));
 nHist = 0.;
 for(int_4 i=0;i<mBins;i++) {
@@ -269,5 +265,5 @@
 Histo& Histo::operator /= (const Histo& a)
 {
-if(mBins!=a.mBins) THROW(sizeMismatchErr);
+if(mBins!=a.mBins) throw SzMismatchError(PExcLongMessage(""));
 nHist = 0.;
 for(int_4 i=0;i<mBins;i++) {
@@ -339,5 +335,5 @@
 void Histo::PutValue(TVector<r_8> &v, int_4 ierr)
 {
-//if(v.NElts()<(uint_4) mBins) THROW(sizeMismatchErr);
+//if(v.NElts()<(uint_4) mBins) throw SzMismatchError(PExcLongMessage(""));
 uint_4 n = (v.NElts()<(uint_4) mBins) ? v.NElts(): (uint_4) mBins;
 if(n>0) for(uint_4 i=0;i<n;i++) {
@@ -353,5 +349,5 @@
 void Histo::PutValueAdd(TVector<r_8> &v, int_4 ierr)
 {
-//if(v.NElts()<(uint_4) mBins) THROW(sizeMismatchErr);
+//if(v.NElts()<(uint_4) mBins) throw SzMismatchError(PExcLongMessage(""));
 uint_4 n = (v.NElts()<(uint_4) mBins) ? v.NElts(): (uint_4) mBins;
 if(n>0) for(uint_4 i=0;i<n;i++) {
@@ -367,5 +363,5 @@
 void Histo::PutError2(TVector<r_8> &v)
 {
-//if(v.NElts()<(uint_4) mBins) THROW(sizeMismatchErr);
+//if(v.NElts()<(uint_4) mBins) throw SzMismatchError(PExcLongMessage(""));
 uint_4 n = (v.NElts()<(uint_4) mBins) ? v.NElts(): (uint_4) mBins;
 if(n>0) {
@@ -381,5 +377,5 @@
 void Histo::PutError2Add(TVector<r_8> &v)
 {
-//if(v.NElts()<(uint_4) mBins) THROW(sizeMismatchErr);
+//if(v.NElts()<(uint_4) mBins) throw SzMismatchError(PExcLongMessage(""));
 uint_4 n = (v.NElts()<(uint_4) mBins) ? v.NElts(): (uint_4) mBins;
 if(n>0) {
@@ -395,5 +391,5 @@
 void Histo::PutError(TVector<r_8> &v)
 {
-//if(v.NElts()<(uint_4) mBins) THROW(sizeMismatchErr);
+//if(v.NElts()<(uint_4) mBins) throw SzMismatchError(PExcLongMessage(""));
 uint_4 n = (v.NElts()<(uint_4) mBins) ? v.NElts(): (uint_4) mBins;
 if(n>0) {
@@ -955,5 +951,5 @@
     cout<<"Histo::FitMax : Nb Entrees histo ="<<NEntries()<<endl;
 
-  if (NEntries() < 1) THROW(inconsistentErr);
+  if (NEntries() < 1) throw ParmError(PExcLongMessage(""));
 
   int_4 iMax = IMax();
@@ -1021,5 +1017,5 @@
     for(k=0;k<nLowHigh;k++) cout<<" "<<e2Fit(k); cout<<endl;
   }
-  if( ii != nLowHigh ) THROW(inconsistentErr);
+  if( ii != nLowHigh ) throw ParmError(PExcLongMessage(""));
   Poly pol(degree);
   TRY {
@@ -1049,5 +1045,5 @@
     // on est dans le cas d'un fit de parabole
     r_8 r=0;
-    if (pol.Root1(r)==0) THROW(inconsistentErr);
+    if (pol.Root1(r)==0) throw ParmError(PExcLongMessage(""));
     fd = r + xCenter;
   } else if (DPolDeg == 2) {
@@ -1055,10 +1051,10 @@
     r_8 r1=0;
     r_8 r2=0;
-    if (pol.Root2(r1,r2) == 0) THROW(inconsistentErr);
+    if (pol.Root2(r1,r2) == 0) throw ParmError(PExcLongMessage(""));
     pol.Derivate();
     fd = (pol(r1)<0) ? r1 + xCenter : r2 + xCenter;
   } else {
     // on est dans un cas non prevu
-    THROW(inconsistentErr);
+    throw ParmError(PExcLongMessage(""));
   }
 
@@ -1104,9 +1100,9 @@
          << " , nbin= " << NBins() << endl;
 
-  if (NEntries() < 1) THROW(inconsistentErr);
-  if (NBins() < 3) THROW(inconsistentErr);
+  if (NEntries() < 1) throw ParmError(PExcLongMessage(""));
+  if (NBins() < 3) throw ParmError(PExcLongMessage(""));
 
   int_4 iMax = FindBin(xmax);
-  if (iMax<0 || iMax>=NBins()) THROW(inconsistentErr);
+  if (iMax<0 || iMax>=NBins()) throw ParmError(PExcLongMessage(""));
   r_8 hmax = mData[iMax];
   r_8 limit = frac*hmax;
Index: trunk/SophyaLib/HiStats/histos.h
===================================================================
--- trunk/SophyaLib/HiStats/histos.h	(revision 2479)
+++ trunk/SophyaLib/HiStats/histos.h	(revision 2507)
@@ -1,5 +1,5 @@
 // This may look like C code, but it is really -*- C++ -*-
 //
-// $Id: histos.h,v 1.17 2003-12-06 23:58:17 ansari Exp $
+// $Id: histos.h,v 1.18 2004-03-15 16:47:20 ansari Exp $
 //
 
@@ -240,5 +240,5 @@
 inline Histo operator + (const Histo& a, const Histo& b)
 {
-if (b.NBins()!=a.NBins()) THROW(sizeMismatchErr);
+if (b.NBins()!=a.NBins()) throw SzMismatchError(PExcLongMessage(""));
 Histo c(a);
 return (c += b);
@@ -249,5 +249,5 @@
 inline Histo operator - (const Histo& a, const Histo& b)
 {
-if (b.NBins()!=a.NBins()) THROW(sizeMismatchErr);
+if (b.NBins()!=a.NBins()) throw SzMismatchError(PExcLongMessage(""));
 Histo c(a);
 return (c -= b);
@@ -258,5 +258,5 @@
 inline Histo operator * (const Histo& a, const Histo& b)
 {
-if (b.NBins()!=a.NBins()) THROW(sizeMismatchErr);
+if (b.NBins()!=a.NBins()) throw SzMismatchError(PExcLongMessage(""));
 Histo c(a);
 return (c *= b);
@@ -267,5 +267,5 @@
 inline Histo operator / (const Histo& a, const Histo& b)
 {
-if (b.NBins()!=a.NBins()) THROW(sizeMismatchErr);
+if (b.NBins()!=a.NBins()) throw SzMismatchError(PExcLongMessage(""));
 Histo c(a);
 return (c /= b);
Index: trunk/SophyaLib/HiStats/histos2.cc
===================================================================
--- trunk/SophyaLib/HiStats/histos2.cc	(revision 2479)
+++ trunk/SophyaLib/HiStats/histos2.cc	(revision 2507)
@@ -54,5 +54,4 @@
 Zero();
 mB_s.H = NULL;
-END_CONSTRUCTOR
 }
 
@@ -73,5 +72,4 @@
 Zero();
 mB_s.H = NULL;
-END_CONSTRUCTOR
 }
 
@@ -140,5 +138,4 @@
 }
 
-END_CONSTRUCTOR
 }
 
@@ -156,5 +153,4 @@
 for(int_4 i=0;i<3;i++) for(int_4 j=0;j<3;j++) mOver[i][j]=0.;
 mB_s.H = NULL;
-END_CONSTRUCTOR
 }
 
@@ -332,5 +328,5 @@
 {
 int_4 i,j;
-if (b==0.) THROW(inconsistentErr);
+if (b==0.) throw ParmError("Histo2D::operator / (0) ");
 r_8 b2 = b*b;
 for(i=0;i<mNxy;i++) {
@@ -412,5 +408,5 @@
 {
 int_4 i,j;
-if(mNx!=a.mNx || mNy!=a.mNy) THROW(sizeMismatchErr);
+if(mNx!=a.mNx || mNy!=a.mNy) throw SzMismatchError("Histo2D::operator += ");
 for(i=0;i<mNxy;i++) {
   mData[i] += a.mData[i];
@@ -435,5 +431,5 @@
 {
 int_4 i,j;
-if(mNx!=a.mNx || mNy!=a.mNy) THROW(sizeMismatchErr);
+if(mNx!=a.mNx || mNy!=a.mNy) throw SzMismatchError("Histo2D::operator -= ");
 for(i=0;i<mNxy;i++) {
   mData[i] -= a.mData[i];
@@ -458,5 +454,5 @@
 {
 int_4 i,j;
-if(mNx!=a.mNx || mNy!=a.mNy) THROW(sizeMismatchErr);
+if(mNx!=a.mNx || mNy!=a.mNy) throw SzMismatchError("Histo2D::operator *= ");
 nHist = 0.;
 for(i=0;i<mNxy;i++) {
@@ -483,5 +479,5 @@
 {
 int_4 i,j;
-if(mNx!=a.mNx || mNy!=a.mNy) THROW(sizeMismatchErr);
+if(mNx!=a.mNx || mNy!=a.mNy) throw SzMismatchError("Histo2D::operator /= ");
 nHist = 0.;
 for(i=0;i<mNxy;i++) {
@@ -575,5 +571,5 @@
 void Histo2D::PutValue(TMatrix<r_8> &v, int_4 ierr)
 {
-//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) THROW(sizeMismatchErr);
+//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) throw SzMismatchError("Histo2D::PutValue()");
 uint_4 nnx = (v.NRows()<(uint_4)mNx)? v.NRows(): (uint_4)mNx;
 uint_4 nny = (v.NCol() <(uint_4)mNy)? v.NCol() : (uint_4)mNy;
@@ -590,5 +586,5 @@
 void Histo2D::PutValueAdd(TMatrix<r_8> &v, int_4 ierr)
 {
-//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) THROW(sizeMismatchErr);
+//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) throw SzMismatchError("Histo2D::PutValueAdd ");
 uint_4 nnx = (v.NRows()<(uint_4)mNx)? v.NRows(): (uint_4)mNx;
 uint_4 nny = (v.NCol() <(uint_4)mNy)? v.NCol() : (uint_4)mNy;
@@ -606,5 +602,5 @@
 void Histo2D::PutError2(TMatrix<r_8> &v)
 {
-//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) THROW(sizeMismatchErr);
+//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) throw SzMismatchError("Histo2D::PutError2 ");
 uint_4 nnx = (v.NRows()<(uint_4)mNx)? v.NRows(): (uint_4)mNx;
 uint_4 nny = (v.NCol() <(uint_4)mNy)? v.NCol() : (uint_4)mNy;
@@ -622,5 +618,5 @@
 void Histo2D::PutError2Add(TMatrix<r_8> &v)
 {
-//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) THROW(sizeMismatchErr);
+//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) throw SzMismatchError("Histo2D::PutError2Add ");
 uint_4 nnx = (v.NRows()<(uint_4)mNx)? v.NRows(): (uint_4)mNx;
 uint_4 nny = (v.NCol() <(uint_4)mNy)? v.NCol() : (uint_4)mNy;
@@ -638,5 +634,5 @@
 void Histo2D::PutError(TMatrix<r_8> &v)
 {
-//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) THROW(sizeMismatchErr);
+//if(v.NRows()!=(uint_4)mNx || v.NCol()!=(uint_4)mNy) throw SzMismatchError("Histo2D::PutError ");
 uint_4 nnx = (v.NRows()<(uint_4)mNx)? v.NRows(): (uint_4)mNx;
 uint_4 nny = (v.NCol() <(uint_4)mNy)? v.NCol() : (uint_4)mNy;
Index: trunk/SophyaLib/HiStats/histos2.h
===================================================================
--- trunk/SophyaLib/HiStats/histos2.h	(revision 2479)
+++ trunk/SophyaLib/HiStats/histos2.h	(revision 2507)
@@ -320,5 +320,5 @@
 inline Histo2D operator + (const Histo2D& a, const Histo2D& b)
 {
-if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) THROW(sizeMismatchErr);
+if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) throw SzMismatchError(PExcLongMessage(""));
 Histo2D c(a);
 return (c += b);
@@ -329,5 +329,5 @@
 inline Histo2D operator - (const Histo2D& a, const Histo2D& b)
 {
-if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) THROW(sizeMismatchErr);
+if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) throw SzMismatchError(PExcLongMessage(""));
 Histo2D c(a);
 return (c -= b);
@@ -338,5 +338,5 @@
 inline Histo2D operator * (const Histo2D& a, const Histo2D& b)
 {
-if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) THROW(sizeMismatchErr);
+if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) throw SzMismatchError(PExcLongMessage(""));
 Histo2D c(a);
 return (c *= b);
@@ -347,5 +347,5 @@
 inline Histo2D operator / (const Histo2D& a, const Histo2D& b)
 {
-if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) THROW(sizeMismatchErr);
+if (b.NBinX()!=a.NBinX() || b.NBinY()!=a.NBinY()) throw SzMismatchError(PExcLongMessage(""));
 Histo2D c(a);
 return (c /= b);
Index: trunk/SophyaLib/HiStats/ntuple.cc
===================================================================
--- trunk/SophyaLib/HiStats/ntuple.cc	(revision 2479)
+++ trunk/SophyaLib/HiStats/ntuple.cc	(revision 2507)
@@ -87,5 +87,5 @@
 mNames = NULL;
 mInfo = NULL;
-if (nvar <= 0)  THROW(sizeMismatchErr); 
+if (nvar <= 0)  throw ParmError("NTuple::NTuple(nvar<=0) "); 
 mNVar = nvar;
 mVar = new r_4[nvar];
