casa
$Rev:20696$
|
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 1104 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 1144 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 1192 of file MSAsRaster.h.
References appliesTo(), casa::MSAsRaster::BASELN, and entireAnt.
Referenced by appliesTo().
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 1181 of file MSAsRaster.h.
References casa::False, casa::MSAsRaster::NAXES, and casa::True.
Referenced by applies2().
Bool casa::MSAsRaster::FlagEdit_::appliesTo | ( | Axis | ax, |
Int | pos | ||
) | [inline] |
Does edit apply to given position on given axis?
Definition at line 1186 of file MSAsRaster.h.
References applies2(), and inLoopRange().
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.
Does the edit apply to a given (raw) time?
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 1170 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 1158 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 1175 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 1162 of file MSAsRaster.h.
All 3 of these Blocks are indexed by Axis, and have NAXES elements.
Definition at line 1110 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 1132 of file MSAsRaster.h.
Definition at line 1135 of file MSAsRaster.h.
Definition at line 1124 of file MSAsRaster.h.
Referenced by applies2(), and getLoopRange().
Definition at line 1135 of file MSAsRaster.h.
Definition at line 1107 of file MSAsRaster.h.
Referenced by getLoopRange().
Definition at line 1135 of file MSAsRaster.h.
Definition at line 1112 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 1135 of file MSAsRaster.h.
Definition at line 1111 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 1122 of file MSAsRaster.h.