Changeset 1064 in Sophya for trunk/SophyaLib/HiStats/histos.cc
- Timestamp:
- Jul 11, 2000, 8:57:25 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/HiStats/histos.cc
r1058 r1064 1 1 // 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 $ 3 3 // 4 4 … … 326 326 void Histo::PutValue(TVector<r_8> &v, int ierr) 327 327 { 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); 329 uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins; 330 if(n>0) for(int i=0;i<n;i++) { 330 331 data[i] = v(i); 331 332 if(err2&&ierr) err2[i] = fabs(v(i)); … … 339 340 void Histo::PutValueAdd(TVector<r_8> &v, int ierr) 340 341 { 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); 343 uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins; 344 if(n>0) for(int i=0;i<n;i++) { 343 345 data[i] += v(i); 344 346 if(err2 && ierr) err2[i] += fabs(v(i)); … … 352 354 void Histo::PutError2(TVector<r_8> &v) 353 355 { 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); 357 uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins; 358 if(n>0) { 359 if(!err2) Errors(); 360 for(int i=0;i<n;i++) err2[i] = v(i); 361 } 357 362 return; 358 363 } … … 363 368 void Histo::PutError2Add(TVector<r_8> &v) 364 369 { 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); 371 uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins; 372 if(n>0) { 373 if(!err2) Errors(); 374 for(int i=0;i<n;i++) if(v(i)>0.) err2[i] += v(i); 375 } 368 376 return; 369 377 } … … 374 382 void Histo::PutError(TVector<r_8> &v) 375 383 { 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); 385 uint_4 n = (v.NElts()<(uint_4) bins) ? v.NElts(): (uint_4) bins; 386 if(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 } 380 391 return; 381 392 }
Note:
See TracChangeset
for help on using the changeset viewer.