Changeset 1064 in Sophya for trunk/SophyaLib/HiStats/histos.cc


Ignore:
Timestamp:
Jul 11, 2000, 8:57:25 PM (25 years ago)
Author:
ansari
Message:

pour PutValues,Error etc ... on prend maintenant le mini

du nbre d'elements du vecteur/matrice et de l'histo.

cmv 11/07/00

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/HiStats/histos.cc

    r1058 r1064  
    11//
    2 // $Id: histos.cc,v 1.8 2000-07-07 09:44:15 ansari Exp $
     2// $Id: histos.cc,v 1.9 2000-07-11 18:57:25 ansari Exp $
    33//
    44
     
    326326void Histo::PutValue(TVector<r_8> &v, int ierr)
    327327{
    328 if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
    329 for(int i=0;i<bins;i++) {
     328//if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
     329uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins;
     330if(n>0) for(int i=0;i<n;i++) {
    330331  data[i] = v(i);
    331332  if(err2&&ierr) err2[i] = fabs(v(i));
     
    339340void Histo::PutValueAdd(TVector<r_8> &v, int ierr)
    340341{
    341 if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
    342 for(int i=0;i<bins;i++) {
     342//if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
     343uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins;
     344if(n>0) for(int i=0;i<n;i++) {
    343345  data[i] += v(i);
    344346  if(err2 && ierr) err2[i] += fabs(v(i));
     
    352354void Histo::PutError2(TVector<r_8> &v)
    353355{
    354 if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
    355 if(!err2) Errors();
    356 for(int i=0;i<bins;i++) err2[i] = v(i);
     356//if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
     357uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins;
     358if(n>0) {
     359  if(!err2) Errors();
     360  for(int i=0;i<n;i++) err2[i] = v(i);
     361}
    357362return;
    358363}
     
    363368void Histo::PutError2Add(TVector<r_8> &v)
    364369{
    365 if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
    366 if(!err2) Errors();
    367 for(int i=0;i<bins;i++) if(v(i)>0.) err2[i] += v(i);
     370//if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
     371uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins;
     372if(n>0) {
     373  if(!err2) Errors();
     374  for(int i=0;i<n;i++) if(v(i)>0.) err2[i] += v(i);
     375}
    368376return;
    369377}
     
    374382void Histo::PutError(TVector<r_8> &v)
    375383{
    376 if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
    377 if(!err2) Errors();
    378 for(int i=0;i<bins;i++)
    379   if(v(i)>0.) err2[i]=v(i)*v(i); else err2[i]=-v(i)*v(i);
     384//if(v.NElts()<(uint_4) bins) THROW(sizeMismatchErr);
     385uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins;
     386if(n>0) {
     387  if(!err2) Errors();
     388  for(int i=0;i<n;i++)
     389    if(v(i)>0.) err2[i]=v(i)*v(i); else err2[i]=-v(i)*v(i);
     390}
    380391return;
    381392}
Note: See TracChangeset for help on using the changeset viewer.