Ignore:
Timestamp:
01/10/06 15:11:58 (18 years ago)
Author:
mar637
Message:

Request: added channel based flagging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/Release12/src/SDMemTable.cc

    r787 r800  
    16221622}
    16231623*/
    1624 void SDMemTable::flag(int whichRow)
     1624void SDMemTable::flagSpectrum(const std::vector<bool>& flags, int whichRow)
    16251625  {
    16261626  Array<uChar> arr;
    16271627  flagsCol_.get(whichRow, arr);
     1628
     1629  std::vector<bool>::const_iterator it = flags.begin();
     1630  if ( flags.size() != arr.shape()(asap::ChanAxis) )
     1631    throw(AipsError("Incorrect number of channels in flags"));
    16281632
    16291633  ArrayAccessor<uChar, Axis<asap::BeamAxis> > aa0(arr);
     
    16341638  aa2.reset(aa2.begin(uInt(polSel_)));// go to pol
    16351639
     1640  uChar userflag = 1 << 7; // user flag bit
    16361641  for (ArrayAccessor<uChar, Axis<asap::ChanAxis> > i(aa2); i != i.end(); ++i) {
    1637     (*i) = uChar(True);
     1642    if (*it)
     1643      (*i) |= userflag;
     1644    ++it;
    16381645  }
    16391646
Note: See TracChangeset for help on using the changeset viewer.