Changeset 1000 for trunk/src/Scantable.cpp
- Timestamp:
- 04/07/06 09:41:02 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/Scantable.cpp
r999 r1000 578 578 } 579 579 580 void Scantable::flag( )580 void Scantable::flag(const std::vector<bool>& msk) 581 581 { 582 582 if ( selector_.empty() ) 583 throw(AipsError("Trying to flag whole scantable. Aborted.")); 584 TableVector<uChar> tvec(table_, "FLAGTRA"); 585 uChar userflag = 1 << 7; 586 tvec = userflag; 583 throw(AipsError("Trying to flag whole scantable.")); 584 if ( msk.size() == 0 ) { 585 uChar userflag = 1 << 7; 586 for ( uInt i=0; i<table_.nrow(); ++i) { 587 Vector<uChar> flgs = flagsCol_(i); 588 flgs = userflag; 589 flagsCol_.put(i, flgs); 590 } 591 return; 592 } 593 if ( int(msk.size()) != nchan() ) { 594 throw(AipsError("Mask has incorrect number of channels.")); 595 } 596 for ( uInt i=0; i<table_.nrow(); ++i) { 597 Vector<uChar> flgs = flagsCol_(i); 598 if ( flgs.nelements() != msk.size() ) { 599 throw(AipsError("Mask has incorrect number of channels." 600 " Probably varying with IF. Please flag per IF")); 601 } 602 std::vector<bool>::const_iterator it; 603 uInt j = 0; 604 uChar userflag = 1 << 7; 605 for (it = msk.begin(); it != msk.end(); ++it) { 606 if ( *it ) { 607 flgs(j) = userflag; 608 } 609 ++j; 610 } 611 flagsCol_.put(i, flgs); 612 } 587 613 } 588 614 … … 762 788 ROTableRow brow(bsubt); 763 789 const TableRecord& brec = brow.get(0); 764 uInt row0 = bsubt.rowNumbers( )[0];790 uInt row0 = bsubt.rowNumbers(table_)[0]; 765 791 oss << setw(5) << "" << setw(4) << std::right << brec.asuInt("BEAMNO")<< std::left; 766 792 oss << setw(4) << "" << formatDirection(getDirection(row0)) << endl;
Note: See TracChangeset
for help on using the changeset viewer.