casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
casa::MSAsRaster::FlagEdit_ Struct Reference

List of all members.

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

MSAsRastermsar
Block< Boolall
 All 3 of these Blocks are indexed by Axis, and have NAXES elements.
Block< Intstart
Block< Intshape
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

Detailed Description

Definition at line 1104 of file MSAsRaster.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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().

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().

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?

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 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.

References shape, and start.

Referenced by getLoopRange().

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().

Is the given position within the range above, on the given axis?

Definition at line 1162 of file MSAsRaster.h.

References shape, and start.

Bool casa::MSAsRaster::FlagEdit_::operator== ( FlagEdit_ other)

Member Data Documentation

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.


The documentation for this struct was generated from the following file: