27 #ifndef PLOTMSCACHEBASE_H_
28 #define PLOTMSCACHEBASE_H_
55 class ThreadCommunication;
171 virtual void load(
const std::vector<PMS::Axis>& axes,
172 const std::vector<PMS::DataColumn>&
data,
186 void release(
const std::vector<PMS::Axis>& axes);
312 throw AipsError(
"PlotMS internal error. PlotMsCacheBase::getRa() was called");
316 throw AipsError(
"PlotMS internal error. PlotMsCacheBase::getDec() was called");
458 bool showFlagged,
bool selectAll );
470 pair<casacore::Double,casacore::Double>
getTimeBounds()
const;
472 pair<casacore::Double,casacore::Double>
getXAxisBounds(
int index)
const;
473 pair<casacore::Double,casacore::Double>
getYAxisBounds(
int index)
const;
481 using RaDecMap = std::map<DirectionAxisParams,RaDecData>;
492 {
log(method, message,
type); };
504 const std::vector<PMS::DataColumn>& loadData,
bool increaseCache=
false);
514 virtual void loadIt(std::vector<PMS::Axis>& loadAxes,
515 std::vector<PMS::DataColumn>& loadData,
578 T
checkIndex(
int index,
const std::vector<T>&
v,
const std::string &vname)
const;
593 std::vector<casacore::PtrBlock<PlotMSIndexer*> >
indexer_;
712 std::vector<casacore::PtrBlock<casacore::Array<casacore::Bool>* > >
plmask_;
casacore::Vector< casacore::Double > & freq(casacore::Int chnk)
::QVector< double > uniqueTimes
casacore::Double getImagDataDivMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & ampModel(casacore::Int chnk)
bool isEphemerisAxis(PMS::Axis axis) const
casacore::Double getDec(casacore::Int chnk, casacore::Int irel)
virtual void load(const std::vector< PMS::Axis > &axes, const std::vector< PMS::DataColumn > &data, const casacore::String &filename, const PlotMSSelection &selection, const PlotMSAveraging &averaging, const PlotMSTransformations &transformations, const PlotMSCalibration &calibration, ThreadCommunication *thread=NULL)
Loads the cache for the given axes and data columns.
casacore::Array< casacore::Float > & wtxampCorr(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampCorr_
casacore::Double az0(casacore::Int chnk)
casacore::Array< casacore::Float > & phaDataDivModelS(casacore::Int chnk)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > v_
pair< casacore::Double, casacore::Double > getYAxisBounds(int index) const
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampCorrModelS_
casacore::Vector< casacore::Double > & atm(casacore::Int chnk)
curve overlay axes
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaModel_
casacore::Vector< casacore::Int > field_
casacore::Double getFreq(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & wtsp(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxamp_
const RaDecData & getRaDataX(int index) const
Specifies averaging parameters for an MS.
casacore::Vector< casacore::Bool > netAxesMask(PMS::Axis xaxis, PMS::Axis yaxis)
Return the net axes mask for the currently set plot axes.
casacore::Vector< casacore::Double > & vel(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagDataDivModel_
casacore::Vector< casacore::Double > rho_
casacore::Double getAmpCorrDivMod(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaCorr_
casacore::Vector< casacore::Int > & feed1(casacore::Int chnk)
PlotMSTransformations & transformations()
Access to transformations state in the cache.
casacore::Vector< casacore::Double > yminG_
casacore::Double time(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > amp_
casacore::Data (the heavy part)
casacore::PtrBlock< casacore::Array< casacore::Float > * > realCorrModelS_
casacore::Vector< casacore::Int > getChansPerBin(casacore::Int chnk, casacore::Int irel)
Returns a list of channel numbers that were averaged together in that chunk.
casacore::Array< casacore::Float > & imagCorrDivModel(casacore::Int chnk)
casacore::Double getPhaModel(casacore::Int chnk, casacore::Int irel)
casacore::Double getImagModel(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Double > & tsky(casacore::Int chnk)
casacore::Double getWt(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Float > * > parang_
casacore::PtrBlock< casacore::Vector< casacore::uInt > * > row_
casacore::Array< casacore::Float > & realDataDivModelS(casacore::Int chnk)
casacore::Array< casacore::Float > & phaCorrDivModel(casacore::Int chnk)
casacore::Double getAnt1(casacore::Int chnk, casacore::Int irel)
void _updateAntennaMask(casacore::Int a, casacore::Vector< casacore::Bool > &antMask, const casacore::Vector< casacore::Int > selectedAntennas)
casacore::Matrix< casacore::Int > & chunkShapes()
Report the data shapes.
casacore::Vector< casacore::Int > & intent(casacore::Int chnk)
PlotMSSelection selection_
casacore::Double getPhaCorrMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & realCorrModel(casacore::Int chnk)
casacore::Int nChunk_
The number of chunks in the cache.
casacore::PtrBlock< casacore::Array< casacore::Float > * > realModel_
std::vector< PMS::CoordSystem > xyFrame_
casacore::Array< casacore::Double > positions_
casacore::Double getAz(casacore::Int chnk, casacore::Int irel)
casacore::Double getImagCorrModS(casacore::Int chnk, casacore::Int irel)
void logWarn(const casacore::String &method, const casacore::String &message)
casacore::Double getWtxAmpDataModS(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Int > * > baseline_
casacore::Vector< casacore::Float > & parAng(casacore::Int chnk)
casacore::Double getImageSideband(casacore::Int chnk, casacore::Int irel)
casacore::Matrix< casacore::Double > & wWave(casacore::Int chnk)
std::vector< PMS::InterpMethod > xyInterp_
void clear()
Clears the cache of all stored values.
casacore::Array< casacore::Float > & wtxampCorrModel(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampDataDivModelS_
casacore::Double getPhaDataDivModS(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & antpos(casacore::Int chnk)
std::vector< casacore::PtrBlock< PlotMSIndexer * > > indexer_
The indexer into the cache.
decltype(decMap_)::mapped_type * loadDec_
casacore::Double getReal(casacore::Int chnk, casacore::Int irel)
casacore::Double getRealCorrMod(casacore::Int chnk, casacore::Int irel)
void logmesg(const casacore::String &method, const casacore::String &message, int type=PlotLogger::MSG_INFO)
public log method
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampCorrModelS_
casacore::Vector< casacore::Double > yflmaxG_
bool canShowImageCurve()
IMAGESB axis; for axis labels/title (image curve axis not always loaded)
casacore::Double getPar(casacore::Int chnk, casacore::Int irel)
These support generic non-complex calibration.
casacore::Array< casacore::Float > & realCorrDivModelS(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > sigma_
casacore::PtrBlock< casacore::Vector< casacore::Int > * > antenna1_
casacore::PtrBlock< casacore::Vector< casacore::Double > * > freq_
virtual void flagToDisk(const PlotMSFlagging &flagging, casacore::Vector< casacore::Int > &chunks, casacore::Vector< casacore::Int > &relids, casacore::Bool flag, PlotMSIndexer *indexer, int dataIndex)=0
static const int MSG_DEBUG
Miscellaneous debugging messages.
casacore::Vector< casacore::Double > radialVelocity_
static const int MSG_ERROR
casacore::Double getW(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > real_
casacore::Array< casacore::Float > & phaData(casacore::Int chnk)
casacore::Array< casacore::Float > & imagCorrDivModelS(casacore::Int chnk)
map< PMS::Axis, bool > pendingLoadAxes_
map<PMS::Axis, std::set<PMS::DataColumn>> loadedAxesData_;
void deleteAtm()
helpers for atm/tsky overlays
virtual Type type()
Return the type enum.
static const casacore::String LOG_ORIGIN_FLAG
casacore::Double getAmpCorrModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getRealCorrDivMod(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Int > * > feed2_
static const int MSG_INFO
Static //.
casacore::Array< casacore::Float > & wtxampDataModel(casacore::Int chnk)
void setPlotMask(casacore::Int dataIndex)
Derive the plot mask by appropriately collapsing the flags.
casacore::Vector< casacore::String > antnames_
meta info for locate output
casacore::Double getV(casacore::Int chnk, casacore::Int irel)
void setCache(casacore::Int newnChunk, const std::vector< PMS::Axis > &loadAxes, const std::vector< PMS::DataColumn > &loadData, bool increaseCache=false)
Resize storage for the number of chunks increaseCache parameter: false to initialize with empty Array...
PlotMSAtm * plotmsAtm_
For atm/tsky overlays.
casacore::String calType() const
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampCorrDivModelS_
static const casacore::String LOG_ORIGIN_LOAD_CACHE
casacore::PtrBlock< casacore::Vector< casacore::Int > * > antenna2_
casacore::Vector< casacore::Bool > & flagrow(casacore::Int chunk)
std::vector< PMS::DataColumn > currentYData_
void logFlag(const casacore::String &message)
bool polnRatio_
polarization selection is ratio ("/")
void addMatrices(casacore::PtrBlock< casacore::Matrix< T > * > &input, bool increaseCache=false)
casacore::Array< casacore::Float > & imagCorr(casacore::Int chnk)
casacore::Int nAnt_
The number of antennas.
casacore::Double pa0(casacore::Int chnk)
casacore::Double getAmpCorrMod(casacore::Int chnk, casacore::Int irel)
casacore::Double getPha(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & ampCorr(casacore::Int chnk)
const RaDecData & getDecDataY(int index) const
Specifies an casacore::MS selection.
std::vector< PMS::InterpMethod > currentXInterp_
void setAxesMask(PMS::Axis axis, casacore::Vector< casacore::Bool > &axismask)
Set the net axes mask (defines how to collapse flags for the chosen plot axes)
void deleteCache()
Clean up the PtrBlocks.
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagDataDivModelS_
casacore::Vector< casacore::Double > & az(casacore::Int chnk)
PMS::Axis metadata(int i)
casacore::Double getAmpDataDivMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & imagDataModel(casacore::Int chnk)
void setPlot(PlotMSPlot *plot)
std::map< DirectionAxisParams, RaDecData > decMap_
casacore::Vector< casacore::Double > xminG_
Global ranges (unflagged and flagged, per indexer)
PlotMSIndexer * indexer0_
An empty indexer (its an empty PlotData object used for initialization)
casacore::PtrBlock< casacore::Vector< casacore::Int > * > feed1_
casacore::Double getWtxAmpDataMod(casacore::Int chnk, casacore::Int irel)
casacore::Double getWtxAmpFloat(casacore::Int chnk, casacore::Int irel)
casacore::Double getSnr(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Int > spw_
casacore::String filename_
A copy of the casacore::Data parameters.
casacore::PtrBlock< casacore::Vector< casacore::Int > * > intent_
casacore::Double getFeed1(casacore::Int chnk, casacore::Int irel)
casacore::Double getImagCorrDivModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getTime(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagCorrDivModelS_
casacore::Double getVel(casacore::Int chnk, casacore::Int irel)
PMS::Axis getIterAxis() const
casacore::PtrBlock< casacore::Array< casacore::Float > * > sigmasp_
casacore::Double getWtxAmpCorr(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagCorrModelS_
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaCorrDivModel_
casacore::Vector< casacore::Int > & ant(casacore::Int chnk)
bool ephemerisInitialized
static const PMS::Axis METADATA[]
casacore::Vector< casacore::Int > & feed2(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > antpos_
casacore::PtrBlock< casacore::Array< casacore::Float > * > realDataDivModelS_
std::map< DirectionAxisParams, RaDecData > raMap_
PlotMSPlot * itsPlot_
Parent PlotMSPlot, if any.
casacore::Vector< casacore::Double > xmaxG_
casacore::Vector< casacore::Bool > goodChunk_
casacore::PtrBlock< casacore::Vector< casacore::Double > * > ra_
casacore::PtrBlock< casacore::Vector< casacore::Int > * > corr_
casacore::Double getEl0(casacore::Int chnk, casacore::Int irel)
casacore::Double getPhaDataDivMod(casacore::Int chnk, casacore::Int irel)
std::vector< PMS::Axis > loadedAxes() const
Returns which axes have been loaded into the cache, including metadata.
void resizeIndexer(int size)
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaDataModel_
void log(const casacore::String &method, const casacore::String &message, int eventType)
Logs the given message from the given method name as the given event type (see PlotLogger).
PlotMSAveraging & averaging()
Access to averaging state in the cache:
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
casacore::Double getWtxAmpCorrModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getScan(casacore::Int chnk, casacore::Int irel)
casacore::Double getImagDataDivModS(casacore::Int chnk, casacore::Int irel)
bool dataLoaded_
Current setup/state.
casacore::Array< casacore::Float > & imagDataDivModel(casacore::Int chnk)
casacore::Double getRealCorr(casacore::Int chnk, casacore::Int irel)
std::vector< casacore::Vector< casacore::Bool > > netAxesMask_
Axes mask.
void setUpIndexer(PMS::Axis iteraxis=PMS::SCAN, casacore::Bool globalXRange=false, casacore::Bool globalYRange=false, const casacore::String &xconnect="none", bool timeconnect=false, int dataIndex=0)
casacore::Array< casacore::Float > & wtxampCorrModelS(casacore::Int chnk)
bool hasOverlay()
ATM or TSKY axis; for adjusting plot ranges.
casacore::Matrix< casacore::Double > & uVDistL(casacore::Int chnk)
casacore::Int spw(casacore::Int chnk)
virtual casacore::String polname(casacore::Int ipol)=0
Access to pol names.
casacore::Double refTime() const
Report the reference time for this cache (in seconds)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampDataModelS_
static bool axisIsMetaData(PMS::Axis axis)
Controller class for plotms.
casacore::Double getWtxAmpModel(casacore::Int chnk, casacore::Int irel)
casacore::Double getRealModel(casacore::Int chnk, casacore::Int irel)
pair< casacore::Double, casacore::Double > getTimeBounds() const
Return the time as doubles.
casacore::Array< casacore::Float > & ampDataModel(casacore::Int chnk)
casacore::Array< casacore::Float > & wtxampCorrDivModel(casacore::Int chnk)
casacore::PtrBlock< casacore::Vector< casacore::Int > * > obsid_
casacore::Double getRealDataModS(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > dec_
casacore::PtrBlock< casacore::Vector< casacore::Double > * > el_
casacore::Double getTsky(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Double > & el(casacore::Int chnk)
casacore::Double getWtxAmpCorrDivModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getImagDataModS(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampCorrDivModel_
casacore::Array< casacore::Float > & ampFloat(casacore::Int chnk)
casacore::Array< casacore::Float > & ampDataDivModel(casacore::Int chnk)
virtual void setFilename(casacore::String filename)=0
keep MS/CT filename (sets calType_)
casacore::Array< casacore::Float > & phaCorrDivModelS(casacore::Int chnk)
casacore::Double getRa(casacore::Int chnk, casacore::Int irel)
casacore::Double getChan(casacore::Int chnk, casacore::Int irel)
casacore::Double getPhaCorr(casacore::Int chnk, casacore::Int irel)
Referenced counted pointer for constant data.
casacore::Double getU(casacore::Int chnk, casacore::Int irel)
int nmetadata() const
Meta axes info.
bool cacheReady() const
Returns whether cache is filled.
casacore::Vector< casacore::Double > ha0_
const RaDecData & getDecDataX(int index) const
std::vector< PMS::InterpMethod > loadXYInterp_
casacore::Double getPhaCorrModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getBsln(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & phaDataModel(casacore::Int chnk)
casacore::Double getAmpDataDivModS(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & wtxampFloat(casacore::Int chnk)
casacore::Vector< casacore::String > fldnames_
casacore::PtrBlock< casacore::Vector< casacore::Double > * > az_
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampCorrModel_
casacore::Vector< casacore::Double > az0_
casacore::Array< casacore::Float > & realCorrModelS(casacore::Int chnk)
casacore::Int nIter(int dataIndex) const
casacore::Vector< casacore::Double > yflminG_
casacore::Array< casacore::Float > & realDataModel(casacore::Int chnk)
virtual bool isEphemeris()
casacore::PtrBlock< casacore::Matrix< casacore::Double > * > uvdistL_
casacore::Vector< casacore::Int > & chan(casacore::Int chnk)
bool wasCanceled() const
Returns whether user canceled during loading chunks.
casacore::Double getField(casacore::Int chnk, casacore::Int irel)
casacore::Double getAmpModel(casacore::Int chnk, casacore::Int irel)
Specifies flagging parameters (including possibly flag extension) for an MS.
casacore::Matrix< casacore::Int > chshapes_
The fundamental meta-data cache.
casacore::PtrBlock< casacore::Vector< casacore::Double > * > imageSideband_
casacore::Double getRealDataDivModS(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Double > & u(casacore::Int chnk)
casacore::Array< casacore::Float > & wtxampModel(casacore::Int chnk)
casacore::Double getParAng(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & ampCorrModelS(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampCorrDivModelS_
std::vector< PMS::CoordSystem > currentXFrame_
casacore::PtrBlock< casacore::Array< casacore::Float > * > wt_
casacore::Double rho(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampCorrModel_
casacore::Array< casacore::Float > & par(casacore::Int chnk)
calibration axes
casacore::Double getAmpCorr(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagDataModel_
casacore::Double el0(casacore::Int chnk)
int findColorIndex(int chunk, bool initialize)
Return the color lookup index for the chunk.
casacore::Vector< casacore::Double > ymaxG_
casacore::Array< casacore::Float > & phaCorrModelS(casacore::Int chnk)
casacore::MFrequency::Types freqFrame_
Set frame from VI if not specified by user (for VI2::getFrequencies and axis label) ...
casacore::Double getRadialVelocity0(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > vel_
casacore::Vector< casacore::Double > xflmaxG_
Class for a single "plot" concept.
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtsp_
casacore::Double getImagCorr(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Vector< casacore::Float > * > pa_
Optional parts of the cache.
PlotMSAtm: plotms class for calculating atmospheric transmission curve for bandpass plots...
casacore::PtrBlock< casacore::Array< casacore::Float > * > realDataDivModel_
casacore::Vector< casacore::Double > & v(casacore::Int chnk)
PlotMSCalibration calibration_
casacore::Double getPhaCorrDivMod(casacore::Int chnk, casacore::Int irel)
T checkIndex(int index, const std::vector< T > &v, const std::string &vname) const
Check access to vector.
casacore::Double getWtxAmpDataDivMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & ampData(casacore::Int chnk)
visibility and flag axes (S is for scalar residuals)
casacore::Double getSpw(casacore::Int chnk, casacore::Int irel)
casacore::Double getRHO0(casacore::Int chnk, casacore::Int irel)
pair< casacore::Double, casacore::Double > getXAxisBounds(int index) const
Return the axes ranges.
casacore::Double getUwave(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > par_
for cal tables
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaDataDivModelS_
casacore::Double getAmpCorrDivModS(casacore::Int chnk, casacore::Int irel)
A hierarchical collection of named fields of various types.
static const unsigned int N_METADATA
bool Bool
Define the standard types used by Casacore.
casacore::Double ha0(casacore::Int chnk)
casacore::Double getWtSp(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & ampCorrModel(casacore::Int chnk)
casacore::Array< casacore::Bool > & flag(casacore::Int chunk)
casacore::Array< casacore::Float > & wtxampDataModelS(casacore::Int chnk)
casacore::Int scan(casacore::Int chnk)
metadata axes
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampDataModelS_
casacore::PtrBlock< casacore::Matrix< casacore::Double > * > vwave_
casacore::Double getRealCorrDivModS(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagCorr_
casacore::Array< casacore::Float > & wtxampData(casacore::Int chnk)
casacore::Double getAntPos(casacore::Int chnk, casacore::Int irel)
casacore::Double getUVDistL(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::String > intentnames_
casacore::Double getWtxAmpCorrMod(casacore::Int chnk, casacore::Int irel)
bool areRaDecAxesLoaded(const DirectionAxisParams ¶ms) const
Returns true if RA/DEC axes data.
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagDataModelS_
casacore::Double getPhaCorrDivModS(casacore::Int chnk, casacore::Int irel)
map< PMS::Axis, bool > loadedAxes_
casacore::Bool empty() const
std::vector< PMS::Axis > currentY_
casacore::Array< casacore::Float > & ampCorrDivModelS(casacore::Int chnk)
void logDebug(const casacore::String &method, const casacore::String &message)
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampFloat_
casacore::PtrBlock< casacore::Vector< casacore::Bool > * > flagrow_
casacore::Double getVwave(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & realData(casacore::Int chnk)
casacore::PtrBlock< casacore::Vector< casacore::Int > * > chan_
casacore::Array< casacore::Float > & sigma(casacore::Int chnk)
casacore::Double getAmpDataMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & phaModel(casacore::Int chnk)
void logLoad(const casacore::String &message)
std::vector< casacore::PtrBlock< casacore::Array< casacore::Bool > * > > plmask_
collapsed flag mask for plotting
A drop-in replacement for Block<T*>.
casacore::Array< casacore::Float > & phaCorr(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampDataDivModelS_
casacore::Double getAz0(casacore::Int chnk, casacore::Int irel)
These are array-global (one value per chunk)
casacore::Vector< casacore::Int > scan_
double referenceValue(PMS::Axis axis)
casacore::Double getAmp(casacore::Int chnk, casacore::Int irel)
casacore::Double getFlagRow(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Int > & obsid(casacore::Int chnk)
casacore::Array< casacore::Float > & imagDataDivModelS(casacore::Int chnk)
casacore::PtrBlock< casacore::Matrix< casacore::Double > * > wwave_
casacore::PtrBlock< casacore::Array< casacore::Float > * > realCorrDivModel_
casacore::Array< casacore::Float > & imagCorrModel(casacore::Int chnk)
casacore::Double getRow(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & imagCorrModelS(casacore::Int chnk)
casacore::Vector< casacore::String > antstanames_
const RaDecData & getRaDataY(int index) const
casacore::PtrBlock< casacore::Vector< casacore::Double > * > atm_
casacore::Vector< casacore::Double > & imageSideband(casacore::Int chnk)
virtual PlotMSCacheBase::Type cacheType() const =0
Identify myself (MS or CAL)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampDataDivModel_
casacore::Vector< casacore::Double > timeIntr_
casacore::Double getEl(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaCorrModel_
casacore::Array< casacore::Float > & imagDataModelS(casacore::Int chnk)
casacore::Array< casacore::Float > & phaCorrModel(casacore::Int chnk)
void logInfo(const casacore::String &method, const casacore::String &message)
Returns the number of points loaded for the given axis or 0 if not loaded.
void addArrays(casacore::PtrBlock< casacore::Array< T > * > &input, bool increaseCache=false)
casacore::Array< casacore::Float > & realCorrDivModel(casacore::Int chnk)
casacore::Double getWwave(casacore::Int chnk, casacore::Int irel)
static const unsigned int THREAD_SEGMENT
PlotMSIndexer & indexer(int dataIndex, casacore::uInt i)
Reference an indexer; returns -1 if there is no indexer for the given dataIndex.
casacore::Double getAmpDataModS(casacore::Int chnk, casacore::Int irel)
PlotMSCacheBase(PlotMSApp *parent, PlotMSPlot *plot=nullptr)
Constructor which takes parent PlotMS.
casacore::Double getAmpFloat(casacore::Int chnk, casacore::Int irel)
casacore::Double getPhaDataMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & phaDataModelS(casacore::Int chnk)
casacore::Array< casacore::Float > & ampDataModelS(casacore::Int chnk)
casacore::Double getCorr(casacore::Int chnk, casacore::Int irel)
casacore::Double getRealDataMod(casacore::Int chnk, casacore::Int irel)
bool isIndexerInitialized(PMS::Axis iteraxis, casacore::Bool globalXRange, casacore::Bool globalYRange, int dataIndex) const
Set up indexing for the plot.
std::vector< PMS::CoordSystem > currentYFrame_
casacore::Double getFlag(casacore::Int chnk, casacore::Int irel)
casacore::Vector< casacore::Int > & ant1(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampCorrDivModel_
casacore::Double getAnt2(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & realCorr(casacore::Int chnk)
casacore::Double getHA0(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > realCorrModel_
casacore::Vector< casacore::Int > & bsln(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampDataDivModel_
casacore::Vector< casacore::Int > & corr(casacore::Int chnk)
std::vector< PMS::InterpMethod > currentYInterp_
bool hasReferenceValue(PMS::Axis axis)
Is there a reference value for the specified axis? TBD: actually make this axis-dep?
casacore::Double getPhaDataModS(casacore::Int chnk, casacore::Int irel)
casacore::Double getTimeIntr(casacore::Int chnk, casacore::Int irel)
PlotLogMessage * locateRange(int plotIterIndex, const casacore::Vector< PlotRegion > ®ions, bool showUnflagged, bool showFlagged)
Base class for all Casacore library errors.
casacore::PtrBlock< casacore::Matrix< casacore::Double > * > uwave_
void logError(const casacore::String &method, const casacore::String &message)
casacore::Double getWtxAmpCorrDivMod(casacore::Int chnk, casacore::Int irel)
void addVectors(casacore::PtrBlock< casacore::Vector< T > * > &input, bool increaseCache=false)
casacore::Array< casacore::Float > & ampDataDivModelS(casacore::Int chnk)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > tsky_
casacore::Double getIntent(casacore::Int chnk, casacore::Int irel)
this metadata axis is "loaded" for cal tables so check for empty array
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampDataModel_
Type
TBD: friend class PlotMSData;.
casacore::Vector< casacore::Double > el0_
casacore::Double getRealCorrModS(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > realCorrDivModelS_
static const int MSG_WARN
casacore::Array< casacore::Float > & realDataDivModel(casacore::Int chnk)
casacore::Array< casacore::Float > & wtxampCorrDivModelS(casacore::Int chnk)
casacore::Vector< casacore::Int > & ant2(casacore::Int chnk)
PMS::DataColumn getYDataColumn(int index)
PMS::DataColumn getXDataColumn()
casacore::Vector< casacore::Double > pa0_
casacore::Double getAntenna(casacore::Int chnk, casacore::Int irel)
These are antenna-based.
casacore::Double getImag(casacore::Int chnk, casacore::Int irel)
PageHeaderCache pageHeaderCache_
Page header items.
void release(const std::vector< PMS::Axis > &axes)
Releases the given axes from the cache.
casacore::CountedPtr< PlotMSCacheBase > PlotMSCacheBasePtr
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaDataModelS_
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampCorr_
casacore::Double getImagCorrDivMod(casacore::Int chnk, casacore::Int irel)
casacore::Double getObsid(casacore::Int chnk, casacore::Int irel)
virtual ~PlotMSCacheBase()
Destructor.
casacore::Array< casacore::Float > & imagData(casacore::Int chnk)
casacore::Vector< casacore::Double > & w(casacore::Int chnk)
PlotMSApp * plotms_
Private data.
casacore::Double getSigma(casacore::Int chnk, casacore::Int irel)
casacore::Double refTime_p
The reference time for this cache, in seconds.
bool isValidRaDecIndex(int index) const
casacore::Double getFeed2(casacore::Int chnk, casacore::Int irel)
String: the storage and methods of handling collections of characters.
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagModel_
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaDataDivModel_
casacore::Bool goodChunk(casacore::Int ichunk)
A chunk is good (T) if it contains data (when averaging, some chunks may have nrows=0) ...
casacore::PtrBlock< casacore::Array< casacore::Float > * > realDataModel_
casacore::Array< casacore::Float > & sigmasp(casacore::Int chnk)
casacore::Array< casacore::Float > & realDataModelS(casacore::Int chnk)
casacore::Array< casacore::Float > & phaDataDivModel(casacore::Int chnk)
Superclass for all messages going through the PlotLogger.
casacore::PtrBlock< casacore::Array< casacore::Float > * > pha_
casacore::Array< casacore::Float > & wt(casacore::Int chnk)
weight axes
map< PMS::Axis, casacore::Record > loadedAxesData_
casacore::Int field(casacore::Int chnk)
PlotLogMessage * flagRange(int plotIterIndex, casa::PlotMSFlagging &flagging, const casacore::Vector< PlotRegion > ®ions, bool showFlagged)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagCorrDivModel_
casacore::Array< casacore::Float > & wtxampDataDivModelS(casacore::Int chnk)
casacore::Double getWtxAmp(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampModel_
Specifies calibration parameters for an MS.
casacore::Array< casacore::Float > & imagModel(casacore::Int chnk)
casacore::Double getPA0(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & snr(casacore::Int chnk)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > uvdist_
casacore::Record locateInfo(int plotIterIndex, const casacore::Vector< PlotRegion > ®ions, bool showUnflagged, bool showFlagged, bool selectAll)
std::vector< PMS::DataColumn > currentXData_
casacore::Double getImagCorrMod(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Float > * > ampFloat_
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampModel_
casacore::PtrBlock< casacore::Array< casacore::Float > * > wtxampDataModel_
casacore::Vector< casacore::String > stanames_
PlotMSTransformations transformations_
casacore::Double getAtm(casacore::Int chnk, casacore::Int irel)
Curve overlays.
Subchunk class Provides the ordered pair identifying the current subchunk The first component is the chunk(goes from 0 to nChunks-1 during the outer loop iteration).The second component is the subchunk number which is zero after VisibilityIterator
static const int LOG_EVENT_FLAG
casacore::Double getUVDist(casacore::Int chnk, casacore::Int irel)
casacore::PtrBlock< casacore::Array< casacore::Int > * > chansPerBin_
decltype(raMap_)::mapped_type * loadRa_
casacore::PtrBlock< casacore::Array< casacore::Float > * > realCorr_
std::vector< PMS::Axis > currentX_
PlotMSAveraging averaging_
std::vector< PMS::CoordSystem > loadXYFrame_
casacore::String calType_
The calibration type (casacore::Table subType)
casacore::Matrix< casacore::Double > & uWave(casacore::Int chnk)
casacore::Int nChunk() const
Report the number of chunks.
casacore::Array< casacore::Float > & ampCorrDivModel(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > snr_
bool hasChan()
Some metadata axes not loaded for certain calibration tables.
Defines communication mechanisms that the model and data can use to communicate with the UI concernin...
casacore::Vector< casacore::uInt > & row(casacore::Int chnk)
casacore::Double getRealDataDivMod(casacore::Int chnk, casacore::Int irel)
casacore::Array< casacore::Float > & wtxampDataDivModel(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > imag_
casacore::Double minX_
Global min/max.
PlotMSIndexer & indexer0()
casacore::PtrBlock< casacore::Array< casacore::Float > * > imagCorrModel_
casacore::Vector< casacore::Double > xflminG_
bool axisIsValid(PMS::Axis axis, const PlotMSAveraging &averaging)
casacore::PtrBlock< casacore::Vector< casacore::Double > * > u_
std::map< DirectionAxisParams, RaDecData > RaDecMap
casacore::PtrBlock< casacore::Vector< casacore::Int > * > antenna_
casacore::Double timeIntr(casacore::Int chnk)
casacore::Matrix< casacore::Double > & vWave(casacore::Int chnk)
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaCorrDivModelS_
casacore::PtrBlock< casacore::Array< casacore::Bool > * > flag_
casacore::Vector< casacore::Double > & uVDist(casacore::Int chnk)
observational geometry axes
casacore::Double getImagDataMod(casacore::Int chnk, casacore::Int irel)
void printAtmStats(casacore::Int scan)
casacore::Double getSigmaSp(casacore::Int chnk, casacore::Int irel)
static const int LOG_EVENT_LOAD_CACHE
virtual void loadIt(std::vector< PMS::Axis > &loadAxes, std::vector< PMS::DataColumn > &loadData, ThreadCommunication *thread=NULL)=0
Specialized method for loading the cache (pure virtual: implemented specifically in child classes) ...
casacore::PtrBlock< casacore::Array< casacore::Float > * > realDataModelS_
void deletePlotMask()
Delete the whole plot mask.
casacore::PtrBlock< casacore::Vector< casacore::Double > * > w_
casacore::PtrBlock< casacore::Array< casacore::Float > * > phaCorrModelS_
casacore::Vector< casacore::Double > time_
casacore::MFrequency::Types getFreqFrame() const
Frequency frame in original casacore::MS or requested by user.
casacore::Double radvel(casacore::Int chnk)
ephemeris axes
casacore::Array< casacore::Float > & realModel(casacore::Int chnk)
casacore::Double getWtxAmpDataDivModS(casacore::Int chnk, casacore::Int irel)