casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
casa::MSAsRaster::FlagEdit_ Struct Reference

Public Member Functions

 FlagEdit_ (MSAsRaster *m)
 edit applies to the row's time and baseline – tested elsewhere), then the visibilities in the casacore::MS row where the edit applies have pol and channel index ranges [sPol,ePol) and [sChan,eChan). More...
 
void getSureRange (Axis ax, casacore::Int &strt, casacore::Int &fin)
 Return the range (half-open interval) over which the edit definitely applies*, on the given axis. More...
 
casacore::Bool inSureRange (Axis ax, casacore::Int pos)
 Is the given position within the range above, on the given axis? More...
 
void getLoopRange (casacore::Int ax, casacore::Int &strt, casacore::Int &fin)
 Retrieve ranges for loops. More...
 
casacore::Bool inLoopRange (casacore::Int ax, casacore::Int pos)
 Is the given position in the 'loop range' on the given axis? More...
 
casacore::Bool appliesTo (casacore::IPosition pos)
 Does edit apply to given hypercube position (relative to entire casacore::MS)? (pos must be NAXES in size). More...
 
casacore::Bool appliesTo (Axis ax, casacore::Int pos)
 Does edit apply to given position on given axis? More...
 
casacore::Bool applies2 (Axis ax, casacore::Int pos)
 Same as above, but for use (only) where inLoopRange(ax, pos) is already known to be true. More...
 
casacore::Bool appliesTo (casacore::Int bsln)
 Does edit apply to the given baseline? (Also for use only where inLoopRange(BASELN, bsln) is already known to be true). More...
 
casacore::Bool appliesToChunk (casacore::Int pol0, casacore::Int nPol, casacore::Int spw, casacore::Int nChan)
 Does the edit apply to the current casacore::MS iteration chunk? More...
 
casacore::Bool appliesTo (casacore::Double time)
 Does the edit apply to a given (raw) time? More...
 
casacore::Bool operator== (FlagEdit_ &other)
 

Public Attributes

MSAsRastermsar
 
casacore::Block< casacore::Boolall
 All 3 of these Blocks are indexed by Axis, and have NAXES elements. More...
 
casacore::Block< casacore::Intstart
 
casacore::Block< casacore::Intshape
 
casacore::Bool unflag
 Note that all[axis] will imply start[axis]==0 && shape[axis]==msShape_[axis], but not vice-versa. More...
 
casacore::Bool entireAnt
 
casacore::Bool appChunk
 The following are set by appliesToChunk(spw, nChan, pol0, nPol) at the beginning of each chunk, within saveEdits_(). More...
 
casacore::Int sPol
 at least some of the pols and channels implied by the chunk's data description ID? More...
 
casacore::Int ePol
 
casacore::Int sChan
 
casacore::Int eChan
 

Detailed Description

Definition at line 1202 of file MSAsRaster.h.

Constructor & Destructor Documentation

casa::MSAsRaster::FlagEdit_::FlagEdit_ ( MSAsRaster m)
inline

edit applies to the row's time and baseline – tested elsewhere), then the visibilities in the casacore::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.

Member Function Documentation

casacore::Bool casa::MSAsRaster::FlagEdit_::applies2 ( Axis  ax,
casacore::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().

casacore::Bool casa::MSAsRaster::FlagEdit_::appliesTo ( casacore::IPosition  pos)
inline

Does edit apply to given hypercube position (relative to entire casacore::MS)? (pos must be NAXES in size).

Definition at line 1287 of file MSAsRaster.h.

References casa::MSAsRaster::NAXES.

Referenced by applies2().

casacore::Bool casa::MSAsRaster::FlagEdit_::appliesTo ( Axis  ax,
casacore::Int  pos 
)
inline

Does edit apply to given position on given axis?

Definition at line 1293 of file MSAsRaster.h.

References applies2(), and inLoopRange().

casacore::Bool casa::MSAsRaster::FlagEdit_::appliesTo ( casacore::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.

casacore::Bool casa::MSAsRaster::FlagEdit_::appliesTo ( casacore::Double  time)

Does the edit apply to a given (raw) time?

casacore::Bool casa::MSAsRaster::FlagEdit_::appliesToChunk ( casacore::Int  pol0,
casacore::Int  nPol,
casacore::Int  spw,
casacore::Int  nChan 
)

Does the edit apply to the current casacore::MS iteration chunk?

void casa::MSAsRaster::FlagEdit_::getLoopRange ( casacore::Int  ax,
casacore::Int strt,
casacore::Int fin 
)
inline

Retrieve ranges for loops.

Same as getSureRange(), except for antenna-based baseline testing, when the entire baseline range of the selected casacore::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,
casacore::Int strt,
casacore::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(casacore::Int bsln). The interval returned is still as stated above, however).

Definition at line 1256 of file MSAsRaster.h.

References shape, and start.

Referenced by getLoopRange().

casacore::Bool casa::MSAsRaster::FlagEdit_::inLoopRange ( casacore::Int  ax,
casacore::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().

casacore::Bool casa::MSAsRaster::FlagEdit_::inSureRange ( Axis  ax,
casacore::Int  pos 
)
inline

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

Definition at line 1262 of file MSAsRaster.h.

References shape, and start.

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

Member Data Documentation

casacore::Block<casacore::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.

casacore::Bool casa::MSAsRaster::FlagEdit_::appChunk

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.

casacore::Int casa::MSAsRaster::FlagEdit_::eChan

Definition at line 1233 of file MSAsRaster.h.

casacore::Bool casa::MSAsRaster::FlagEdit_::entireAnt

Definition at line 1222 of file MSAsRaster.h.

Referenced by applies2(), and getLoopRange().

casacore::Int casa::MSAsRaster::FlagEdit_::ePol

Definition at line 1233 of file MSAsRaster.h.

MSAsRaster* casa::MSAsRaster::FlagEdit_::msar

Definition at line 1205 of file MSAsRaster.h.

Referenced by getLoopRange().

casacore::Int casa::MSAsRaster::FlagEdit_::sChan

Definition at line 1233 of file MSAsRaster.h.

casacore::Block<casacore::Int> casa::MSAsRaster::FlagEdit_::shape

Definition at line 1210 of file MSAsRaster.h.

Referenced by getSureRange(), and inSureRange().

casacore::Int casa::MSAsRaster::FlagEdit_::sPol

at least some of the pols and channels implied by the chunk's data description ID?

Definition at line 1233 of file MSAsRaster.h.

casacore::Block<casacore::Int> casa::MSAsRaster::FlagEdit_::start

Definition at line 1209 of file MSAsRaster.h.

Referenced by getSureRange(), and inSureRange().

casacore::Bool casa::MSAsRaster::FlagEdit_::unflag

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 casacore::MS) boundaries, to the entire casacore::MS, when saving flags (if itsEditEntireMS is turned on).

Definition at line 1220 of file MSAsRaster.h.


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