Changeset 1064 in Sophya


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

Location:
trunk/SophyaLib/HiStats
Files:
2 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}
  • trunk/SophyaLib/HiStats/histos2.cc

    r1056 r1064  
    559559{
    560560int i,j;
    561 if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
    562 for(i=0;i<nx;i++) for(j=0;j<ny;j++) {
     561//if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
     562uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx;
     563uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny;
     564if(nnx>0 && nny>0) for(i=0;i<nnx;i++) for(j=0;j<nny;j++) {
    563565  (*this)(i,j) = v(i,j);
    564566  if(err2 && ierr) Error2(i,j) = fabs(v(i,j));
     
    573575{
    574576int i,j;
    575 if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
    576 for(i=0;i<nx;i++) for(j=0;j<ny;j++) {
     577//if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
     578uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx;
     579uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny;
     580if(nnx>0 && nny>0) for(i=0;i<nnx;i++) for(j=0;j<nny;j++) {
    577581  (*this)(i,j) += v(i,j);
    578582  if(err2 && ierr) Error2(i,j) += fabs(v(i,j));
     
    588592{
    589593int i,j;
    590 if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
    591 if(!err2) Errors();
    592 for(i=0;i<nx;i++) for(j=0;j<ny;j++) Error2(i,j) = v(i,j);
     594//if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
     595uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx;
     596uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny;
     597if(nnx>0 && nny>0) {
     598  if(!err2) Errors();
     599  for(i=0;i<nnx;i++) for(j=0;j<nny;j++) Error2(i,j) = v(i,j);
     600}
    593601return;
    594602}
     
    601609{
    602610int i,j;
    603 if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
    604 if(!err2) Errors();
    605 for(i=0;i<nx;i++) for(j=0;j<ny;j++)
     611//if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
     612uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx;
     613uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny;
     614if(nnx>0 && nny>0) {
     615  if(!err2) Errors();
     616  for(i=0;i<nnx;i++) for(j=0;j<nny;j++)
    606617          if(v(i,j)>0.) Error2(i,j) += v(i,j);
     618}
    607619return;
    608620}
     
    614626{
    615627int i,j;
    616 if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
    617 if(!err2) Errors();
    618 for(i=0;i<nx;i++) for(j=0;j<ny;j++)
    619   if(v(i,j)>0.) Error2(i,j)=v(i,j)*v(i,j); else Error2(i,j)= -v(i,j)*v(i,j);
     628//if(v.NRows()!=(uint_4)nx || v.NCol()!=(uint_4)ny) THROW(sizeMismatchErr);
     629uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx;
     630uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny;
     631if(nnx>0 && nny>0) {
     632  if(!err2) Errors();
     633  for(i=0;i<nnx;i++) for(j=0;j<nny;j++)
     634    if(v(i,j)>0.) Error2(i,j)=v(i,j)*v(i,j); else Error2(i,j)= -v(i,j)*v(i,j);
     635}
    620636return;
    621637}
Note: See TracChangeset for help on using the changeset viewer.