casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PlotMSIndexer.h
Go to the documentation of this file.
1 //# PlotMSIndexer.h: Cache indexer for plotms.
2 //# Copyright (C) 2009
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id: $
27 #ifndef PLOTMSINDEXER_H_
28 #define PLOTMSINDEXER_H_
29 #include <map>
30 #include <sstream>
31 
32 #include <casa/aips.h>
33 #include <casa/Arrays.h>
34 #include <casa/Containers/Block.h>
36 
39 
40 #include <unordered_map>
41 
42 namespace casa {
43 
44 //# Forward declarations.
45 class PlotMSApp;
46 class PlotMSCacheBase;
47 class PlotMSIndexer; // needed for method pointer typedefs
48 
52 
53 
54 class PlotMSIndexer : public PlotMaskedPointData, public PlotBinnedData {
55 
56 public:
57 
58  // Convenient access to class name.
60 
61  // A ctor that makes an empty Indexer (for plot initialization)
62  PlotMSIndexer();
63 
64  // Constructor which takes parent PlotMSCache, x and y axes (non-iteration)
65  PlotMSIndexer(PlotMSCacheBase* plotmscache, PMS::Axis xAxis,
66  PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData,
67  casacore::String xconnect, bool timeconnect, int index);
68 
69 protected:
70  // Constructor which supports iteration
71  PlotMSIndexer(PlotMSCacheBase* plotmscache, PMS::Axis xAxis,
72  PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData,
73  PMS::Axis iterAxis, casacore::Int iterValue,
74  casacore::String xconnect, bool timeconnect, int index);
75  friend class PlotMSIndexerFactory;
76 
77 public:
78 
79  // Destructor
80  virtual ~PlotMSIndexer();
81 
82  // Implemented PlotData methods.
83  // <group>
84  bool willDeleteData() const { return true; }
85  void setDeleteData(bool del = true) { (void)del; }
86  bool isValid() const { return true;};
87  // </group>
88 
89  // Implemented PlotPointData methods.
90  // <group>
91  unsigned int size() const;
92  virtual double xAt(unsigned int i) const;
93  virtual double yAt(unsigned int i) const;
94  virtual void xAndYAt(unsigned int index, double& x, double& y) const;
95  bool minsMaxes(double& xMin, double& xMax, double& yMin, double& yMax);
96  // </group>
97 
98  // Implemented PlotMaskedPointData methods.
99  // <group>
100  bool maskedAt(unsigned int index) const;
101  virtual void xyAndMaskAt(unsigned int index, double& x, double& y, bool& mask) const;
102  // </group>
103 
104  // Unimplemented PlotMaskedPointData methods.
105  // <group>
106  unsigned int sizeMasked() const { return sizeMasked_; }
107  unsigned int sizeUnmasked() const { return sizeUnMasked_; }
108  bool maskedMinsMaxes(double& xMin, double& xMax, double& yMin,double& yMax);
109  bool unmaskedMinsMaxes(double& xMin, double& xMax, double& yMin,double& yMax);
110  // </group>
111 
112  // PlotBinnedData methods
113  // <group>
114  unsigned int numBins() const;
115  unsigned int binAt(unsigned int i) const;
116  bool isBinned() const; // affects colorizing points
117  // </group>
118 
119  // Set up indexing for the plot
120  void setUpIndexing();
121 
122  // Set global min/max flag
123  void setGlobalMinMax(casacore::Bool globalX=false,casacore::Bool globalY=false);
124  bool isGlobalXRange() const;
125  bool isGlobalYRange() const;
126 
127  // Report per-chunk point counters
130 
131  // Return if the indexer is ready (setUpPlot has been run)
132  inline casacore::Bool indexerReady() const { return indexerReady_; };
133 
134  // Locate datum nearest to specified x,y
137  casacore::Bool showUnflagged, casacore::Bool showFlagged,
138  casacore::Bool selectAll = true);
140  casacore::Bool showUnflagged, casacore::Bool showFlagged);
141  PlotLogMessage* flagRange(const PlotMSFlagging& flagging,
142  const casacore::Vector<PlotRegion>& regions, casacore::Bool flag = true);
143 
144 
145  // Report meta info for current value of currChunk_/irel_
146  void reportMeta(casacore::Double x, casacore::Double y, casacore::Bool masked, std::stringstream& ss);
147 
148  // Set flags in the cache
149  void flagInCache(const PlotMSFlagging& flagging,casacore::Bool flag);
150 
151  // Iteration label
155 
156  // Access to raw min/max data (no auto-global)
157  bool maskedMinsMaxesRaw(double& xMin, double& xMax, double& yMin,double& yMax);
158  bool unmaskedMinsMaxesRaw(double& xMin, double& xMax, double& yMin,double& yMax);
159 
160 
161  // Directly implemented index calculators
162  // (generic index methods point to one of these depending upon axis choice)
163  casacore::Int getIndex0000(casacore::Int ch,casacore::Int irel) { return 0; (void)irel; (void)ch; };
168  casacore::Int getIndex1010(casacore::Int ch,casacore::Int irel) { return (irel/nperbsln_(ch))*nperchan_(ch) + irel%nperchan_(ch);};
171 
172 
173  // set colorize and whether binned data has coloraxis;
174  // connected points are binned too
175  bool colorize(bool doColorize, PMS::Axis colorizeAxis);
176 
177  bool setConnect(casacore::String xconnect, bool timeconnect);
178  virtual bool reverseConnect(unsigned int index) const;
179  unsigned int connectBinAt(unsigned int i) const;
180 
181  bool plotConjugates() const { return (PMS::axisIsUV(currentX_) &&
183 
184 protected:
186  // Set currChunk_ according to a supplied index
187  void setChunk(casacore::uInt i, bool ignoreReindex=false) const;
188  void setReady(bool isReady=true) { indexerReady_ = isReady; };
189 
190 private:
191 
192  // Forbid copy for now
193  PlotMSIndexer(const PlotMSIndexer& mc);
194 
195  // get method for x and y axes depends on column
196  void setMethod(CacheMemPtr& getmethod, PMS::Axis axis, PMS::DataColumn data);
197 
198  // index for iteraxis
199  void setIndexer(IndexerMethPtr& indexmethod, PMS::Axis axis);
200 
201  // Reindex for connecting points
202  void reindexForConnect();
203 
204  // void setCollapser(CollapseMethPtr& collmethod, PMS::Axis axis);
205 
206  // Generate collapsed versions of the plmask
207  /* not needed? (gmoellen, 2011Mar15)
208  void collapseMask0000(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
209  void collapseMask1000(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
210  void collapseMask0100(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
211  void collapseMask0010(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
212  void collapseMask0110(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
213  void collapseMask1010(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
214  void collapseMask1110(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
215  void collapseMask0001(casacore::Int ch,casacore::Array<casacore::Bool>& collmask);
216  */
217 
218  // Report the number of chunks
219  casacore::Int nChunk() const; // { return (plotmscache_ ? plotmscache_->nChunk() : 0); };
220 
221  // Report the reference time for this cache (in seconds)
222  inline casacore::Double refTime(); // { return plotmscache_->refTime(); };
223 
224  // Computes the X and Y limits for the currently set axes. In the future we
225  // may want to cache ALL ranges for all loaded values to avoid recomputation.
226  void computeRanges();
227 
228  // Adjust the Y range for overlays to make room at top of plot
229  void adjustYRangeForOverlay(double& yMin, double& yMax);
230 
231  // Compute baseline's length in meters between ant1 and ant2
233 
234  // Convenience methods that call log() with the given method name and the
235  // appropriate event type.
236  // <group>
237  void logInfo(const casacore::String& method, const casacore::String& message) {
238  log(method, message, PlotLogger::MSG_INFO); }
239  void logDebug(const casacore::String& method, const casacore::String& message) {
240  log(method, message, PlotLogger::MSG_DEBUG); }
241  void logWarn(const casacore::String& method, const casacore::String& message) {
242  log(method, message, PlotLogger::MSG_WARN); }
243  void logError(const casacore::String& method, const casacore::String& message) {
244  log(method, message, PlotLogger::MSG_ERROR); }
245  // </group>
246 
247  // Logs the given message from the given method name as the given event type
248  // (see PlotLogger).
249  void log(const casacore::String& method, const casacore::String& message, int eventType);
250 
251 
252 
253  // Private data
254 
255  // Parent plotms.
257 
258  // Pointers to methods for axis flexibility
261  // CollapseMethPtr collapseXMask_, collapseYMask_;
262 
263 protected:
264  // The in-focus chunk and relative index offset
266 
267 private:
269 
270  // The number of points per chunk
272 
273  // The cumulative running total of points
275 
276  // Segment point-counting Vectors
280 
281  // Current setup/state.
282  PMS::Axis currentX_, currentY_;
283  PMS::DataColumn currentXdata_, currentYdata_;
285 
286  // Indexing parameters
291 
292  // Nominal axes limits
296 
297  // Iteration
298  // <group>
300  PMS::Axis iterAxis_;
302  // </group>
303 
304  // Colorization
305  // <group>
307  PMS::Axis itsColorizeAxis_;
308  // </group>
309 
310  // Reindex and bin when connecting points
313  // map<chunk, decrease> : frequencies decrease with channel in chunk
314  // (for reverseConnect)
315  std::map<casacore::uInt, bool> freqsDecrease_;
316 
317  // Cope with const-ness in the get methods
318 protected:
320 
321 private:
322 
324 
325 };
326 
328 
330 
331 public:
332 
333  // Convenient access to class name.
335 
337  using RaDecMap = std::map<DirectionAxisParams,RaDecData>;
338 
339  static const RaDecData EMPTY_DATA;
340 
341  // Empty Indexer
343 
344  // Constructor which takes parent PlotMSCache, x and y axes (non-iteration)
345  //PlotMSRaDecIndexer(PlotMSCacheBase* plotmscache, PMS::Axis xAxis,
346  //PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData, int index)
347  //: PlotMSIndexer(plotmscache, xAxis,xData,yAxis,yData,index) {}
348 
349  // Constructor which supports iteration
350  PlotMSRaDecIndexer(PlotMSCacheBase* plotmscache, PMS::Axis xAxis,
351  PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData,
352  PMS::Axis iterAxis, casacore::Int iterValue, casacore::String xconnect,
353  bool timeconnect, int index);
354 
355  // Destructor
357 
358  // Overridden PlotPointData methods.
359  double xAt(unsigned int i) const;
360  double yAt(unsigned int i) const;
361  void xAndYAt(unsigned int index, double& x, double& y) const;
362 
363  void xyAndMaskAt(unsigned int index,
364  double& x, double& y,
365  bool& mask) const;
366 
368  return *(xRa_[chnk]->data()+irel);
369  }
371  return *(yRa_[chnk]->data()+irel);
372  }
374  return *(xDec_[chnk]->data()+irel);
375  }
377  return *(yDec_[chnk]->data()+irel);
378  }
379 
380 private:
381 
382 
383  const bool cacheOk_;
384  const bool axesOk_;
385  const bool xAxisIsRa_;
386  const bool xAxisIsDec_;
387  const bool xAxisIsRaOrDec_;
388  const bool yAxisIsRa_;
389  const bool yAxisIsDec_;
390  const bool yAxisIsRaOrDec_;
391 
392  const RaDecData& xRa_;
393  const RaDecData& xDec_;
394 
395  const RaDecData& yRa_;
396  const RaDecData& yDec_;
397 };
398 
400 public:
401 static PlotMSIndexer* initIndexer(PlotMSCacheBase* plotmscache, PMS::Axis xAxis,
402  PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData,
403  PMS::Axis iterAxis, casacore::Int iterValue, casacore::String xconnect,
404  bool timeconnect, int index, bool makeRaDecIndexer=false);
405 };
406 
407 }
408 
409 #endif /* PLOTMSCACHEINDER_H_ */
casacore::Bool iterate_
Iteration.
casacore::Record locateInfo(const casacore::Vector< PlotRegion > &regions, casacore::Bool showUnflagged, casacore::Bool showFlagged, casacore::Bool selectAll=true)
virtual void xyAndMaskAt(unsigned int index, double &x, double &y, bool &mask) const
IMPLEMENTED METHODS //.
casacore::Vector< casacore::Int > nperchan_
int Int
Definition: aipstype.h:50
casacore::Double xflmin_
CacheMemPtr getYFromCache_
bool maskedAt(unsigned int index) const
Implemented PlotMaskedPointData methods.
casacore::Int sizeMasked_
static const casacore::String CLASS_NAME
Convenient access to class name.
Definition: PlotMSIndexer.h:59
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
casacore::Int getIndex1110(casacore::Int ch, casacore::Int irel)
casacore::String iterValue()
PMS::Axis currentX_
Current setup/state.
casacore::Double xmin_
Nominal axes limits.
PMS::DataColumn currentYdata_
static const int MSG_DEBUG
Miscellaneous debugging messages.
Definition: PlotLogger.h:342
static const int MSG_ERROR
Definition: PlotLogger.h:338
virtual double yAt(unsigned int i) const
Returns the y value at the given index.
PMS::Axis itsColorizeAxis_
casacore::Vector< casacore::Int > nperant_
static const int MSG_INFO
Static //.
Definition: PlotLogger.h:336
casacore::Vector< casacore::Int > icorrmax_
Indexing parameters.
casacore::String itsXConnect_
Reindex and bin when connecting points.
casacore::Vector< casacore::Int > iantmax_
bool setConnect(casacore::String xconnect, bool timeconnect)
const RaDecData & yRa_
casacore::String iterLabel()
Iteration label.
CacheMemPtr getColFromCache_
bool isBinned() const
casacore::Int irel_
const RaDecData & yDec_
casacore::Double refTime()
Report the reference time for this cache (in seconds)
unsigned int sizeUnmasked() const
Returns the number of unmasked points.
casacore::Int getIndex0110(casacore::Int ch, casacore::Int irel)
casacore::Vector< casacore::uInt > nCumulative_
The cumulative running total of points.
IndexerMethPtr ColIndexer_
bool itsColorize_
Colorization.
bool willDeleteData() const
Implemented PlotData methods.
Definition: PlotMSIndexer.h:84
void setGlobalMinMax(casacore::Bool globalX=false, casacore::Bool globalY=false)
Set global min/max flag.
PlotMSCacheBase * getCache()
PlotLogMessage * locateRange(const casacore::Vector< PlotRegion > &regions, casacore::Bool showUnflagged, casacore::Bool showFlagged)
PlotMSRaDecIndexer()
Empty Indexer.
void setDeleteData(bool del=true)
Sets whether this object will delete its underlying data structures upon deconstruction or not...
Definition: PlotMSIndexer.h:85
unsigned int connectBinAt(unsigned int i) const
PlotMSIndexer()
A ctor that makes an empty Indexer (for plot initialization)
casacore::Double getRaY(casacore::Int chnk, casacore::Int irel) const
void setReady(bool isReady=true)
void setIndexer(IndexerMethPtr &indexmethod, PMS::Axis axis)
index for iteraxis
casacore::Double yflmax_
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).
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Definition: PlotData.h:48
void setChunk(casacore::uInt i, bool ignoreReindex=false) const
Set currChunk_ according to a supplied index.
casacore::Vector< casacore::uInt > nSegPoints_
casacore::Int(PlotMSIndexer::* IndexerMethPtr)(casacore::Int, casacore::Int)
Definition: PlotMSIndexer.h:50
void computeRanges()
Computes the X and Y limits for the currently set axes.
bool maskedMinsMaxes(double &xMin, double &xMax, double &yMin, double &yMax)
Gets the mins/maxes for just the masked points.
void logDebug(const casacore::String &method, const casacore::String &message)
std::map< DirectionAxisParams, RaDecData > RaDecMap
static const casacore::String CLASS_NAME
Convenient access to class name.
void setMethod(CacheMemPtr &getmethod, PMS::Axis axis, PMS::DataColumn data)
get method for x and y axes depends on column
casacore::Bool globalYMinMax_
void logWarn(const casacore::String &method, const casacore::String &message)
casacore::Vector< casacore::Int > idatamax_
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
CacheMemPtr getXFromCache_
Pointers to methods for axis flexibility.
std::map< casacore::uInt, bool > freqsDecrease_
map&lt;chunk, decrease&gt; : frequencies decrease with channel in chunk (for reverseConnect) ...
void logInfo(const casacore::String &method, const casacore::String &message)
Convenience methods that call log() with the given method name and the appropriate event type...
unsigned int binAt(unsigned int i) const
bool unmaskedMinsMaxesRaw(double &xMin, double &xMax, double &yMin, double &yMax)
~PlotMSRaDecIndexer()
Destructor.
casacore::Int getIndex1000(casacore::Int ch, casacore::Int irel)
Specifies flagging parameters (including possibly flag extension) for an MS.
void reportMeta(casacore::Double x, casacore::Double y, casacore::Bool masked, std::stringstream &ss)
Report meta info for current value of currChunk_/irel_.
PlotMSCacheBase * plotmscache_
Private data.
double Double
Definition: aipstype.h:55
virtual void xAndYAt(unsigned int index, double &x, double &y) const
IMPLEMENTED METHODS //.
casacore::Vector< casacore::uInt > cacheChunk_
void xAndYAt(unsigned int index, double &x, double &y) const
IMPLEMENTED METHODS //.
bool isGlobalYRange() const
casacore::Double getDecX(casacore::Int chnk, casacore::Int irel) const
void adjustYRangeForOverlay(double &yMin, double &yMax)
Adjust the Y range for overlays to make room at top of plot.
unsigned int size() const
Implemented PlotPointData methods.
casacore::Vector< casacore::uInt > nCumulPoints_
casacore::Int getIndex0000(casacore::Int ch, casacore::Int irel)
Directly implemented index calculators (generic index methods point to one of these depending upon ax...
casacore::Int getIndex0100(casacore::Int ch, casacore::Int irel)
void reindexForConnect()
Reindex for connecting points.
casacore::Vector< casacore::uInt > nPoints_
The number of points per chunk.
casacore::Double xmax_
void logError(const casacore::String &method, const casacore::String &message)
casacore::Double yflmin_
bool maskedMinsMaxesRaw(double &xMin, double &xMax, double &yMin, double &yMax)
Access to raw min/max data (no auto-global)
casacore::Double getDecY(casacore::Int chnk, casacore::Int irel) const
casacore::Int iterValue_
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Record getPointMetaData(casacore::Int i)
Locate datum nearest to specified x,y.
static bool axisIsUV(Axis axis)
for loading conjugates and setting axis ranges
casacore::Double ymax_
virtual ~PlotMSIndexer()
Destructor.
PMS::DataColumn currentXdata_
casacore::Double(PlotMSCacheBase::* CacheMemPtr)(casacore::Int, casacore::Int)
Definition: PlotMSIndexer.h:49
casacore::Vector< casacore::uInt > cacheOffset_
void(PlotMSIndexer::* CollapseMethPtr)(casacore::Int, casacore::Array< casacore::Bool > &)
Definition: PlotMSIndexer.h:51
casacore::Int nSegment_
Segment point-counting Vectors.
static PlotMSIndexer * initIndexer(PlotMSCacheBase *plotmscache, PMS::Axis xAxis, PMS::DataColumn xData, PMS::Axis yAxis, PMS::DataColumn yData, PMS::Axis iterAxis, casacore::Int iterValue, casacore::String xconnect, bool timeconnect, int index, bool makeRaDecIndexer=false)
bool isGlobalXRange() const
IndexerMethPtr XIndexer_
A drop-in replacement for Block&lt;T*&gt;.
Definition: WProjectFT.h:54
casacore::Int getIndex0010(casacore::Int ch, casacore::Int irel)
casacore::CountedPtr< PlotMSIndexer > PlotMSIndexerPtr
IndexerMethPtr YIndexer_
casacore::Bool indexerReady() const
Return if the indexer is ready (setUpPlot has been run)
casacore::Vector< casacore::Int > ichanmax_
casacore::uInt lasti_
unsigned int sizeMasked() const
Unimplemented PlotMaskedPointData methods.
void flagInCache(const PlotMSFlagging &flagging, casacore::Bool flag)
Set flags in the cache.
PlotLogMessage * flagRange(const PlotMSFlagging &flagging, const casacore::Vector< PlotRegion > &regions, casacore::Bool flag=true)
casacore::Double xflmax_
bool colorize(bool doColorize, PMS::Axis colorizeAxis)
set colorize and whether binned data has coloraxis; connected points are binned too ...
bool unmaskedMinsMaxes(double &xMin, double &xMax, double &yMin, double &yMax)
Gets the mins/maxes for just the unmasked points.
casacore::Int getIndex0001(casacore::Int ch, casacore::Int irel)
casacore::Double computeBaselineLength(casacore::Int ant1, casacore::Int ant2)
Compute baseline&#39;s length in meters between ant1 and ant2.
const RaDecData & xDec_
casacore::Int sizeUnMasked_
bool isValid() const
ABSTRACT METHODS //.
Definition: PlotMSIndexer.h:86
static const RaDecData EMPTY_DATA
static const int MSG_WARN
Definition: PlotLogger.h:337
casacore::String fileLabel()
bool plotConjugates() const
Returns whether to plot conjugate data (e.g.
casacore::Vector< casacore::Int > ibslnmax_
casacore::Int currSeg_
double yAt(unsigned int i) const
Returns the y value at the given index.
const RaDecData & xRa_
unsigned int numBins() const
PlotBinnedData methods.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual double xAt(unsigned int i) const
Returns the x value at the given index.
Superclass for all messages going through the PlotLogger.
Definition: PlotLogger.h:48
casacore::Int nChunk() const
void setCollapser(CollapseMethPtr&amp; collmethod, PMS::Axis axis);
virtual bool reverseConnect(unsigned int index) const
Returns whether data is plotted in reverse order (right to left), needed when connecting points...
casacore::Int currChunk_
CollapseMethPtr collapseXMask_, collapseYMask_;.
casacore::Vector< casacore::uInt > nPoints()
Report per-chunk point counters.
casacore::Double ymin_
casacore::Data that adds masking functionality on top of normal point data.
Definition: PlotData.h:135
void xyAndMaskAt(unsigned int index, double &x, double &y, bool &mask) const
IMPLEMENTED METHODS //.
double xAt(unsigned int i) const
Overridden PlotPointData methods.
bool minsMaxes(double &xMin, double &xMax, double &yMin, double &yMax)
Gets the minimum and maximum values.
casacore::Bool globalXMinMax_
casacore::Double getRaX(casacore::Int chnk, casacore::Int irel) const
casacore::Vector< casacore::uInt > nCumulative()
casacore::Int getIndex1010(casacore::Int ch, casacore::Int irel)
unsigned int uInt
Definition: aipstype.h:51
casacore::Vector< casacore::Int > nperbsln_
void setUpIndexing()
Set up indexing for the plot.
casacore::Vector< casacore::Int > ichanbslnmax_