#include <synthesis/MeasurementComponents/VisCal.h>
#include <synthesis/MeasurementComponents/MSMetaInfoForCal.h>
#include <msvis/MSVis/VisBuffer.h>
#include <casa/Arrays/ArrayMath.h>
#include <casa/Arrays/MaskArrMath.h>
#include <casa/Arrays/ArrayLogical.h>
#include <casa/Arrays/ArrayIter.h>
#include <casa/Arrays/MaskedArray.h>
#include <scimath/Mathematics/MatrixMathLA.h>
#include <casa/BasicSL/String.h>
#include <casa/Utilities/Assert.h>
#include <casa/Quanta/MVTime.h>
#include <casa/Quanta/Quantum.h>
#include <casa/Quanta/QuantumHolder.h>
#include <casa/Exceptions/Error.h>
#include <casa/OS/Memory.h>
#include <casa/sstream.h>
#include <casa/Logging/LogMessage.h>
#include <casa/Logging/LogSink.h>
#include <casa/Quanta/MVTime.h>
using namespace casacore;
VisCal::VisCal(VisSet& vs) :
msmc_( new MSMetaInfoForCal(vs.msName()) ),
currTime_(vs.numberSpw(),0.0),
currScan_(vs.numberSpw(),-1),
currObs_(vs.numberSpw(),-1),
currField_(vs.numberSpw(),-1),
currIntent_(vs.numberSpw(),-1),
currFreq_(vs.numberSpw(),-1),
lastTime_(vs.numberSpw(),0.0),
nChanPar_(vs.numberSpw(),1),
nChanMat_(vs.numberSpw(),1),
startChan_(vs.numberSpw(),0),
currCPar_(vs.numberSpw(),NULL),
currRPar_(vs.numberSpw(),NULL),
currParOK_(vs.numberSpw(),NULL),
PValid_(vs.numberSpw(),false),
currWtScale_(vs.numberSpw(),NULL),