// CAL-specific loadIt method
virtual void loadIt(std::vector<PMS::Axis>& loadAxes,
std::vector<PMS::DataColumn>& loadData,
ThreadCommunication* thread = nullptr);
CalCache(const CalCache&);
void setMSName(casacore::String msname); // set msname_; adds path to name
void loadNewCalTable(std::vector<PMS::Axis>& loadAxes,
std::vector<PMS::DataColumn>& loadData,
ThreadCommunication* thread = nullptr);
NewCalTable& selct, PlotMSAveraging& pmsAveraging, casacore::Bool readonly);
void countChunks(ROCTIter& ci, std::vector<PMS::Axis>& loadAxes,
std::vector<PMS::DataColumn>& loadData, ThreadCommunication* thread);
void countChunks(ROCTIter& ci, PlotMSAveraging& pmsAveraging,
casacore::Vector<int>& nIterPerAve, std::vector<PMS::Axis>& loadAxes,
casacore::Array<T> concatArray = concatenateArray(array1, array2);
void countChunks(casacore::Int nrowMain, std::vector<PMS::Axis>& loadAxes,
std::vector<PMS::DataColumn>& loadData, ThreadCommunication* thread);
void setMSname(casacore::String msname); // set msname_; adds path to name
void getNamesFromMS(); // for locate
void setUpLoad(ThreadCommunication* thread, casacore::Slice& parSlice);
// get type-specific axis for raw viscube data
void getCalDataAxis(PMS::Axis axis,
casacore::Cube<casacore::Complex>& viscube, casacore::Int chunk);
void loadBPoly(std::vector<PMS::Axis>& loadAxes,
std::vector<PMS::DataColumn>& loadData,
ThreadCommunication* thread = nullptr);
void getSelectedCube(casacore::Cube<T>& inputcube,
const casacore::Vector<casacore::Int>& selectedRows);
// Utilities for all cal tables:
// Get axis string for VisCal Slice code
casacore::String toVisCalAxis(PMS::Axis axis);
// Check axis and slice param column appropriately
casacore::Slice getParSlice(casacore::String axis, casacore::String polnSel);
// Check for divide-by-zero (=inf); set to 1.0 and flag it
void checkRatioArray(casacore::Array<float>& array, int chunk);
// Check divide-by-zero in ratio plot (checkRatioArray)
// NewCalTable iterator pointers and sort columns
casacore::Block<casacore::String> sortColumns_;
// The polarization basis
// Is parameter column complex?
casacore::Bool parsAreComplex_;
casacore::IPosition parshape_;
// For CalTable (cannot plot BPOLY or GSPLINE without MS)
// Check divide-by-zero in ratio plot (checkRatioArray)
// For CalTable types which need the MS to plot
casacore::String msname_;
typedef casacore::CountedPtr<CalCache> CalCachePtr;
typedef casacore::CountedPtr<CalCache> CalCachePtr;