Public Member Functions | |
FlagEdit_ (MSAsRaster *m) | |
edit applies to the row's time and baseline -- tested elsewhere), then the visibilities in the MS row where the edit applies have pol and channel index ranges [sPol,ePol) and [sChan,eChan). | |
void | getSureRange (Axis ax, Int &strt, Int &fin) |
Return the range (half-open interval) over which the edit definitely applies*, on the given axis. | |
Bool | inSureRange (Axis ax, Int pos) |
Is the given position within the range above, on the given axis? | |
void | getLoopRange (Int ax, Int &strt, Int &fin) |
Retrieve ranges for loops. | |
Bool | inLoopRange (Int ax, Int pos) |
Is the given position in the 'loop range' on the given axis? | |
Bool | appliesTo (IPosition pos) |
Does edit apply to given hypercube position (relative to entire MS)? (pos must be NAXES in size). | |
Bool | appliesTo (Axis ax, Int pos) |
Does edit apply to given position on given axis? | |
Bool | applies2 (Axis ax, Int pos) |
Same as above, but for use (only) where inLoopRange(ax, pos) is already known to be true. | |
Bool | appliesTo (Int bsln) |
Does edit apply to the given baseline? (Also for use only where inLoopRange(BASELN, bsln) is already known to be True). | |
Bool | appliesToChunk (Int pol0, Int nPol, Int spw, Int nChan) |
Does the edit apply to the current MS iteration chunk? | |
Bool | appliesTo (Double time) |
Does the edit apply to a given (raw) time? | |
Bool | operator== (FlagEdit_ &other) |
Public Attributes | |
MSAsRaster * | msar |
Block< Bool > | all |
All 3 of these Blocks are indexed by Axis, and have NAXES elements. | |
Block< Int > | start |
Block< Int > | shape |
Bool | unflag |
Note that all[axis] will imply start[axis]==0 && shape[axis]==msShape_[axis], but _not vice-versa_. | |
Bool | entireAnt |
Bool | appChunk |
The following are set by appliesToChunk(spw, nChan, pol0, nPol) at the beginning of each chunk, within saveEdits_(). | |
Int | sPol |
at least some of the pols and channels implied by the chunk's data description ID? | |
Int | ePol |
Int | sChan |
Int | eChan |
Definition at line 1202 of file MSAsRaster.h.
casa::MSAsRaster::FlagEdit_::FlagEdit_ | ( | MSAsRaster * | m | ) | [inline] |
edit applies to the row's time and baseline -- tested elsewhere), then the visibilities in the MS row where the edit applies have pol and channel index ranges [sPol,ePol) and [sChan,eChan).
(Note that these are _different_ index ranges from those determined by start & shape, above, which are relative to the _internal hypercube_ shape, msShape_).
Definition at line 1242 of file MSAsRaster.h.
Bool casa::MSAsRaster::FlagEdit_::applies2 | ( | Axis | ax, | |
Int | pos | |||
) | [inline] |
Same as above, but for use (only) where inLoopRange(ax, pos) is already known to be true.
This one is used within loops, for efficiency.
Definition at line 1300 of file MSAsRaster.h.
References appliesTo(), casa::MSAsRaster::BASELN, and entireAnt.
Referenced by appliesTo().
Bool casa::MSAsRaster::FlagEdit_::appliesTo | ( | Double | time | ) |
Does the edit apply to a given (raw) time?
Bool casa::MSAsRaster::FlagEdit_::appliesTo | ( | Int | bsln | ) |
Does edit apply to the given baseline? (Also for use only where inLoopRange(BASELN, bsln) is already known to be True).
This is used mainly for testing baselines against antenna-based edits.
Bool casa::MSAsRaster::FlagEdit_::appliesTo | ( | Axis | ax, | |
Int | pos | |||
) | [inline] |
Does edit apply to given position on given axis?
Definition at line 1293 of file MSAsRaster.h.
References applies2(), and inLoopRange().
Bool casa::MSAsRaster::FlagEdit_::appliesTo | ( | IPosition | pos | ) | [inline] |
Does edit apply to given hypercube position (relative to entire MS)? (pos must be NAXES in size).
Definition at line 1287 of file MSAsRaster.h.
References casacore::False, casa::MSAsRaster::NAXES, and casacore::True.
Referenced by applies2().
Bool casa::MSAsRaster::FlagEdit_::appliesToChunk | ( | Int | pol0, | |
Int | nPol, | |||
Int | spw, | |||
Int | nChan | |||
) |
Does the edit apply to the current MS iteration chunk?
void casa::MSAsRaster::FlagEdit_::getLoopRange | ( | Int | ax, | |
Int & | strt, | |||
Int & | fin | |||
) | [inline] |
Retrieve ranges for loops.
Same as getSureRange(), except for antenna-based baseline testing, when the entire baseline range of the selected MS is returned. In that case, applicability of the edit to the individual baselines must still be tested within the loop, with edit.appliesTo(bsln).
Definition at line 1271 of file MSAsRaster.h.
References casa::MSAsRaster::BASELN, entireAnt, getSureRange(), msar, and casa::MSAsRaster::msShape_.
Referenced by inLoopRange().
void casa::MSAsRaster::FlagEdit_::getSureRange | ( | Axis | ax, | |
Int & | strt, | |||
Int & | fin | |||
) | [inline] |
Return the range (half-open interval) over which the edit definitely applies*, on the given axis.
This is the range selected with the mouse or (when edit.all[ax]==True) the entire axis range.
Exception: when antenna-based editing is on (entireAnt==True), baselines of only one antenna will be edited regardless -- see appliesTo(Int bsln). The interval returned is still as stated above, however).
Definition at line 1256 of file MSAsRaster.h.
Referenced by getLoopRange().
Bool casa::MSAsRaster::FlagEdit_::inLoopRange | ( | Int | ax, | |
Int | pos | |||
) | [inline] |
Is the given position in the 'loop range' on the given axis?
Definition at line 1279 of file MSAsRaster.h.
References getLoopRange().
Referenced by appliesTo().
Bool casa::MSAsRaster::FlagEdit_::inSureRange | ( | Axis | ax, | |
Int | pos | |||
) | [inline] |
Is the given position within the range above, on the given axis?
Definition at line 1262 of file MSAsRaster.h.
Bool casa::MSAsRaster::FlagEdit_::operator== | ( | FlagEdit_ & | other | ) |
Block<Bool> casa::MSAsRaster::FlagEdit_::all |
All 3 of these Blocks are indexed by Axis, and have NAXES elements.
Definition at line 1208 of file MSAsRaster.h.
The following are set by appliesToChunk(spw, nChan, pol0, nPol) at the beginning of each chunk, within saveEdits_().
A given chunk has a fixed polId and spwId, which imply a given shape (nPol, nChan) of visibilities and flags as actually stored in the MS.
Definition at line 1230 of file MSAsRaster.h.
Definition at line 1233 of file MSAsRaster.h.
Definition at line 1222 of file MSAsRaster.h.
Referenced by applies2(), and getLoopRange().
Definition at line 1233 of file MSAsRaster.h.
Definition at line 1205 of file MSAsRaster.h.
Referenced by getLoopRange().
Definition at line 1233 of file MSAsRaster.h.
Block<Int> casa::MSAsRaster::FlagEdit_::shape |
Definition at line 1210 of file MSAsRaster.h.
Referenced by getSureRange(), and inSureRange().
at least some of the pols and channels implied by the chunk's data description ID?
Definition at line 1233 of file MSAsRaster.h.
Block<Int> casa::MSAsRaster::FlagEdit_::start |
Definition at line 1209 of file MSAsRaster.h.
Referenced by getSureRange(), and inSureRange().
Note that all[axis] will imply start[axis]==0 && shape[axis]==msShape_[axis], but _not vice-versa_.
all[axis] has the _additional_ meaning that the edit should extend beyond hypercube (selected MS) boundaries, to the _entire_ MS, when saving flags (if itsEditEntireMS is turned on).
Definition at line 1220 of file MSAsRaster.h.