Changeset 1064 in Sophya
- Timestamp:
- Jul 11, 2000, 8:57:25 PM (25 years ago)
- Location:
- trunk/SophyaLib/HiStats
- Files:
-
- 2 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 } -
trunk/SophyaLib/HiStats/histos2.cc
r1056 r1064 559 559 { 560 560 int 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); 562 uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx; 563 uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny; 564 if(nnx>0 && nny>0) for(i=0;i<nnx;i++) for(j=0;j<nny;j++) { 563 565 (*this)(i,j) = v(i,j); 564 566 if(err2 && ierr) Error2(i,j) = fabs(v(i,j)); … … 573 575 { 574 576 int 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); 578 uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx; 579 uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny; 580 if(nnx>0 && nny>0) for(i=0;i<nnx;i++) for(j=0;j<nny;j++) { 577 581 (*this)(i,j) += v(i,j); 578 582 if(err2 && ierr) Error2(i,j) += fabs(v(i,j)); … … 588 592 { 589 593 int 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); 595 uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx; 596 uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny; 597 if(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 } 593 601 return; 594 602 } … … 601 609 { 602 610 int 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); 612 uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx; 613 uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny; 614 if(nnx>0 && nny>0) { 615 if(!err2) Errors(); 616 for(i=0;i<nnx;i++) for(j=0;j<nny;j++) 606 617 if(v(i,j)>0.) Error2(i,j) += v(i,j); 618 } 607 619 return; 608 620 } … … 614 626 { 615 627 int 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); 629 uint_4 nnx = (v.NRows()<(uint_4)nx)? v.NRows(): (uint_4)nx; 630 uint_4 nny = (v.NCol() <(uint_4)ny)? v.NCol() : (uint_4)ny; 631 if(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 } 620 636 return; 621 637 }
Note:
See TracChangeset
for help on using the changeset viewer.