- Timestamp:
- Oct 14, 2011, 9:11:22 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/BNC/combination/bnccomb.cpp ¶
r3475 r3476 734 734 ++iObs; 735 735 736 if (_method == filter) { 737 if (corr->acName == _masterOrbitAC && resCorr.find(prn) == resCorr.end()) { 738 resCorr[prn] = new t_corr(*corr); 739 } 736 if (corr->acName == _masterOrbitAC && resCorr.find(prn) == resCorr.end()) { 737 resCorr[prn] = new t_corr(*corr); 740 738 } 741 739 … … 785 783 ColumnVector& dx) { 786 784 787 // Initialize resCorr 788 // ------------------ 785 // Remove Satellites that are not in Master 786 // ---------------------------------------- 787 QMutableVectorIterator<cmbCorr*> itCorr1(corrs()); 788 while (itCorr1.hasNext()) { 789 cmbCorr* corr = itCorr1.next(); 790 QString prn = corr->prn; 791 bool foundMaster = false; 792 QVectorIterator<cmbCorr*> it(corrs()); 793 while (it.hasNext()) { 794 cmbCorr* corr2 = it.next(); 795 QString prn2 = corr2->prn; 796 QString AC = corr2->acName; 797 if (AC == _masterOrbitAC && prn == prn2) { 798 foundMaster = true; 799 break; 800 } 801 } 802 if (!foundMaster) { 803 itCorr1.remove(); 804 } 805 } 806 807 // Count Number of Observations per Satellite and per AC 808 // ----------------------------------------------------- 809 QMap<QString, int> numObsPrn; 810 QMap<QString, int> numObsAC; 789 811 QVectorIterator<cmbCorr*> itCorr(corrs()); 790 812 while (itCorr.hasNext()) { 791 813 cmbCorr* corr = itCorr.next(); 792 814 QString prn = corr->prn; 793 switchToLastEph(_eph[prn]->last, corr); 794 if (corr->acName == _masterOrbitAC && resCorr.find(prn) == resCorr.end()) { 795 resCorr[prn] = new t_corr(*corr); 796 } 797 } 798 799 // Count Number of Observations per Satellite and per AC 800 // ----------------------------------------------------- 801 QMap<QString, int> numObsPrn; 802 QMap<QString, int> numObsAC; 803 QMapIterator<QString, t_corr*> itRes(resCorr); 804 while (itRes.hasNext()) { 805 itRes.next(); 806 const QString& prnRes = itRes.key(); 807 QVectorIterator<cmbCorr*> itCorr(corrs()); 808 while (itCorr.hasNext()) { 809 cmbCorr* corr = itCorr.next(); 810 QString prn = corr->prn; 811 QString AC = corr->acName; 812 if (prn == prnRes) { 813 if (numObsPrn.find(prn) == numObsPrn.end()) { 814 numObsPrn[prn] = 1; 815 } 816 else { 817 numObsPrn[prn] += 1; 818 } 819 if (numObsAC.find(prn) == numObsAC.end()) { 820 numObsAC[AC] = 1; 821 } 822 else { 823 numObsAC[AC] += 1; 824 } 825 } 815 QString AC = corr->acName; 816 if (numObsPrn.find(prn) == numObsPrn.end()) { 817 numObsPrn[prn] = 1; 818 } 819 else { 820 numObsPrn[prn] += 1; 821 } 822 if (numObsAC.find(AC) == numObsAC.end()) { 823 numObsAC[AC] = 1; 824 } 825 else { 826 numObsAC[AC] += 1; 826 827 } 827 828 } … … 843 844 const QString& AC = itAC.key(); 844 845 int numObs = itAC.value(); 845 if (numObs > 0) { 846 if (AC != _masterOrbitAC && numObs > 0) { 846 847 _params.push_back(new cmbParam(cmbParam::offAC, ++nextPar, AC, "")); 847 848 }
Note:
See TracChangeset
for help on using the changeset viewer.