Changeset 3323 in ntrip
- Timestamp:
- Jul 1, 2011, 1:37:48 PM (14 years ago)
- Location:
- trunk/BNC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/BNC/bncmodel.cpp ¶
r3322 r3323 1309 1309 Tracer tracer("bncModel::update_p"); 1310 1310 1311 // Remeber Original State Vector and Variance-Covariance Matrix 1312 // ------------------------------------------------------------ 1313 SymmetricMatrix QQ_orig = _QQ; 1314 1315 QVectorIterator<bncParam*> itPar(_params); 1316 QVector<bncParam*> params_orig; 1317 while (itPar.hasNext()) { 1318 bncParam* par = itPar.next(); 1319 params_orig.push_back(new bncParam(*par)); 1320 } 1311 rememberState(); 1321 1312 1322 1313 for (int iPhase = 0; iPhase <= (_usePhase ? 1 : 0); iPhase++) { … … 1332 1323 if (iPhase == 0) { 1333 1324 if (cmpBancroft(epoData) != success) { 1334 QVectorIterator<bncParam*> itParOrig(params_orig); 1335 while (itParOrig.hasNext()) { 1336 bncParam* par = itParOrig.next(); 1337 delete par; 1338 } 1325 restoreState(); 1339 1326 emit newMessage(_log, false); 1340 1327 return failure; … … 1343 1330 else { 1344 1331 if (epoData->sizeGPS() < MINOBS) { 1345 1346 _QQ = QQ_orig; 1347 QVectorIterator<bncParam*> itPar(_params); 1348 while (itPar.hasNext()) { 1349 bncParam* par = itPar.next(); 1350 delete par; 1351 } 1352 _params.clear(); 1353 1354 QVectorIterator<bncParam*> itParOrig(params_orig); 1355 while (itParOrig.hasNext()) { 1356 bncParam* par = itParOrig.next(); 1357 _params.push_back(par); 1358 } 1359 1332 restoreState(); 1360 1333 _log += "bncModel::update_p: not enough data\n"; 1361 1334 emit newMessage(_log, false); … … 1463 1436 } 1464 1437 1465 QVectorIterator<bncParam*> itParOrig(params_orig); 1466 while (itParOrig.hasNext()) { 1467 bncParam* par = itParOrig.next(); 1438 return success; 1439 } 1440 1441 // Remeber Original State Vector and Variance-Covariance Matrix 1442 //////////////////////////////////////////////////////////////////////////// 1443 void bncModel::rememberState() { 1444 1445 _QQ_sav = _QQ; 1446 1447 QVectorIterator<bncParam*> itSav(_params_sav); 1448 while (itSav.hasNext()) { 1449 bncParam* par = itSav.next(); 1468 1450 delete par; 1469 1451 } 1470 return success; 1471 } 1452 _params_sav.clear(); 1453 1454 QVectorIterator<bncParam*> it(_params); 1455 while (it.hasNext()) { 1456 bncParam* par = it.next(); 1457 _params_sav.push_back(new bncParam(*par)); 1458 } 1459 } 1460 1461 // Restore Original State Vector and Variance-Covariance Matrix 1462 //////////////////////////////////////////////////////////////////////////// 1463 void bncModel::restoreState() { 1464 1465 _QQ = _QQ_sav; 1466 1467 QVectorIterator<bncParam*> it(_params); 1468 while (it.hasNext()) { 1469 bncParam* par = it.next(); 1470 delete par; 1471 } 1472 _params.clear(); 1473 1474 QVectorIterator<bncParam*> itSav(_params_sav); 1475 while (itSav.hasNext()) { 1476 bncParam* par = itSav.next(); 1477 _params.push_back(new bncParam(*par)); 1478 } 1479 } 1480 -
TabularUnified trunk/BNC/bncmodel.h ¶
r3321 r3323 120 120 bncTime _startTime; 121 121 122 void rememberState(); 123 void restoreState(); 124 122 125 class pppPos { 123 126 public: … … 136 139 QVector<bncParam*> _params; 137 140 SymmetricMatrix _QQ; 141 QVector<bncParam*> _params_sav; 142 SymmetricMatrix _QQ_sav; 138 143 ColumnVector _xcBanc; 139 144 ColumnVector _ellBanc;
Note:
See TracChangeset
for help on using the changeset viewer.