throw(AipsError(uptype+" not yet supported via SingleDishPositionSwitchCal(msname,MSnAnt,MSnSpw)"));
#include <synthesis/MeasurementComponents/VisCalGlobals.h>
#include <synthesis/MeasurementComponents/MSMetaInfoForCal.h>
#include <synthesis/MeasurementComponents/StandardVisCal.h>
#include <synthesis/MeasurementComponents/DJones.h>
#include <synthesis/MeasurementComponents/XJones.h>
#include <synthesis/MeasurementComponents/GSpline.h>
#include <synthesis/MeasurementComponents/BPoly.h>
#include <synthesis/MeasurementComponents/EJones.h>
#include <synthesis/MeasurementComponents/EPJones.h>
#include <synthesis/MeasurementComponents/FJones.h>
#include <synthesis/MeasurementComponents/FringeJones.h>
#include <synthesis/MeasurementComponents/AccorJones.h>
#include <synthesis/MeasurementComponents/KJones.h>
#include <synthesis/MeasurementComponents/LJJones.h>
#include <synthesis/MeasurementComponents/AMueller.h>
#include <synthesis/MeasurementComponents/TsysGainCal.h>
#include <synthesis/MeasurementComponents/EVLASwPow.h>
#include <synthesis/MeasurementComponents/SingleDishSkyCal.h>
#include <synthesis/MeasurementComponents/SDDoubleCircleGainCal.h>
using namespace casacore;
VisCal* createVisCal(const String& type, VisSet& vs) {
if (uptype=="P" || uptype=="P JONES")
return createSolvableVisCal(type,vs);
VisCal* createVisCal(const String& type, String msname, Int MSnAnt, Int MSnSpw) {
if (uptype=="P" || uptype=="P JONES")
return new PJones(msname,MSnAnt,MSnSpw);
return createSolvableVisCal(type,msname,MSnAnt,MSnSpw);
VisCal* createVisCal(const String& type, const MSMetaInfoForCal& msmc) {
if (uptype=="P" || uptype=="P JONES")
return createSolvableVisCal(type,msmc);