#include <plotms/Data/CalCache.h>
#include <plotms/Data/PlotMSAtm.h>
#include <plotms/Data/PlotMSCTAverager.h>
#include <plotms/Data/PlotMSIndexer.h>
#include <plotms/PlotMS/PlotMS.h>
#include <plotms/PlotMS/PlotMSLabelFormat.h>
#include <plotms/Threads/ThreadCommunication.h>
#include <casa/OS/Timer.h>
#include <casa/OS/HostInfo.h>
#include <casa/OS/Memory.h>
#include <casa/Quanta/MVTime.h>
#include <casa/System/Aipsrc.h>
#include <casa/Utilities/Sort.h>
#include <casa/Arrays/ArrayMath.h>
#include <graphics/GenericPlotter/Plotter.h>
#include <synthesis/CalTables/CTColumns.h>
#include <synthesis/MeasurementComponents/VisCalGlobals.h>
#include <synthesis/MeasurementComponents/BPoly.h>
#include <synthesis/MeasurementComponents/GSpline.h>
#include <tables/Tables/Table.h>
using namespace casacore;
namespace casa {
#define cheb cheb_
extern "C" {
void cheb(Int*, Double*, Double*, Int*);
}
CalCache::CalCache(PlotMSApp* parent):
PlotMSCacheBase(parent),
divZero_(False),
ci_p(nullptr),
wci_p(nullptr),
basis_("unknown"),
parsAreComplex_(False),
msname_("")
{
}
CalCache::~CalCache() {}
String CalCache::polname(Int ipol) {
if (polnRatio_) return "/";
if (basis_=="Linear")
return ( (ipol%2==0) ? String("X") : String("Y") );
else if (basis_=="Circular")
return ( (ipol%2==0) ? String("R") : String("L") );
else {
if (calType_=="KAntPos Jones") {
switch(ipol) {
case 0: return "X";
case 1: return "Y";
case 2: return "Z";
default: return (String::toString(ipol));
}
} else {
return ( String::toString(ipol) );
}
}