Commits

Mark Kettenis authored f5ebf0437f8
Do not insist that all relevant correlations are good

If some stations in the MS are single-pol the visibilities for the missing pol will be flagged and would fail the test. So remove the check and make sure the partial solution is written into the caltable.
No tags

code/synthesis/MeasurementComponents/AccorJones.cc

Modified
125 125 Int nRow=sdb.nRows();
126 126 Vector<Bool> rowok(nRow,False);
127 127 for (Int irow=0;irow<nRow;++irow) {
128 128
129 129 const Int& a1(sdb.antenna1()(irow));
130 130 const Int& a2(sdb.antenna2()(irow));
131 131
132 132 // Is this row ok?
133 133 rowok(irow)= (!sdb.flagRow()(irow) &&
134 134 a1==a2);
135 -
136 - // All relevant correlations must be good
137 - for (Int icorr=0;icorr<nCorr;++icorr)
138 - rowok(irow)=(rowok(irow) && !sdb.flagCube()(corridx[icorr],guesschan,irow));
139 135 }
140 136
141 137 const Cube<Complex>& V(sdb.visCubeCorrected());
142 138 Float amp(0.0);
143 139 solveCPar()=Complex(1.0);
144 140 solveParOK()=False;
145 141 for (Int irow=0;irow<nRow;++irow) {
146 142
147 143 if (rowok(irow)) {
148 144 const Int& a1=sdb.antenna1()(irow);
182 178 diffJElem().resize(IPosition(4,2,2,1,1));
183 179 diffJElem()=0.0;
184 180 diffJElem()(IPosition(4,0,0,0,0))=Complex(1.0);
185 181 diffJElem()(IPosition(4,1,1,0,0))=Complex(1.0);
186 182 }
187 183
188 184 }
189 185
190 186 void AccorJones::keepNCT() {
191 187 for (Int elem=0;elem<nElem();++elem) {
192 - // There is no point in adding flagged solutions.
193 - if (!solveAllParOK()(0, 0, elem))
194 - continue;
195 -
196 188 ct_->addRow(1);
197 189
198 190 CTMainColumns ncmc(*ct_);
199 191
200 192 // We are adding to the most-recently added row
201 193 Int row=ct_->nrow()-1;
202 194
203 195 // Meta-info
204 196 ncmc.time().put(row,refTime());
205 197 ncmc.fieldId().put(row,currField());

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut