diff --git a/CEP/DP3/DPPP/include/DPPP/StefCal.h b/CEP/DP3/DPPP/include/DPPP/StefCal.h index b8a7fa440e3bc431b3fe653cfc5366d1b8c7e9ea..3347ffac702d317b67f17b5d524d977a9689afb1 100644 --- a/CEP/DP3/DPPP/include/DPPP/StefCal.h +++ b/CEP/DP3/DPPP/include/DPPP/StefCal.h @@ -39,14 +39,12 @@ namespace LOFAR { public: enum Status {CONVERGED=1, NOTCONVERGED=2, STALLED=3}; StefCal(uint solInt, uint nChan, string mode, uint maxAntennas); - void doStep_polarized(); - void doStep_unpolarized(bool phaseOnly); - Status relax(uint iter); void resetVis(uint nSt); void init(); + void doStep(); + Status relax(uint iter); casa::Matrix<casa::DComplex> getSolution(); - bool converged; std::vector<int> _antMap; // Length antennaNames, contains size(antennaNames)-nSt times the value -1 // Values are indices in the stefcal internal numbering casa::Matrix<casa::DComplex> g; // Station, correlation @@ -55,6 +53,8 @@ namespace LOFAR { uint savedNCr; // number of correlations stored (1,2 or 4) private: + void doStep_polarized(); + void doStep_unpolarized(bool phaseOnly); casa::Matrix<casa::DComplex> gx; casa::Matrix<casa::DComplex> gxx; casa::Matrix<casa::DComplex> gold; diff --git a/CEP/DP3/DPPP/src/GainCal.cc b/CEP/DP3/DPPP/src/GainCal.cc index c1f8925d662a31ba1295522b28d4aa2b7b77cbd9..44cec4991d194220be99845783b9fe22bc334f04 100644 --- a/CEP/DP3/DPPP/src/GainCal.cc +++ b/CEP/DP3/DPPP/src/GainCal.cc @@ -374,11 +374,7 @@ namespace LOFAR { if (converged[freqCell]==StefCal::CONVERGED) { // Do another step when stalled and not all converged continue; } - if (mode=="fulljones") { - iS[freqCell].doStep_polarized(); - } else { - iS[freqCell].doStep_unpolarized(itsMode=="phaseonly" || itsMode=="scalarphase"); - } + iS[freqCell].doStep(); } // ============================== Relaxation ======================= if (iter % 2 == 1) { if (itsDebugLevel>7) { diff --git a/CEP/DP3/DPPP/src/StefCal.cc b/CEP/DP3/DPPP/src/StefCal.cc index c7175bb3cf82d234aa9e723f78e86f84d81d8a02..3249ee42a37b9a41c3bd10df5291047826312e38 100644 --- a/CEP/DP3/DPPP/src/StefCal.cc +++ b/CEP/DP3/DPPP/src/StefCal.cc @@ -119,6 +119,15 @@ namespace LOFAR { gx = g; } + void StefCal::doStep() { + if (_mode=="fulljones") { + doStep_polarized(); + } else { + + doStep_unpolarized(_mode=="phaseonly" || _mode=="scalarphase"); + } + } + void StefCal::doStep_polarized() { gold = g;