Changeset 9431 in ntrip for trunk/BNC/src/PPP/pppFilter.h


Ignore:
Timestamp:
May 18, 2021, 5:15:10 PM (3 years ago)
Author:
stuerze
Message:

update regarding PPP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/PPP/pppFilter.h

    r9419 r9431  
    2323  t_irc processEpoch();
    2424
     25  const ColumnVector&    x() const {return _xFlt;}
     26  const SymmetricMatrix& Q() const {return _QFlt;}
     27
    2528  t_irc datumTransformation();
    2629  void initDatumTransformation(const std::vector<t_pppSatObs*>& allObs, bool pseudoObsIono);
    2730  unsigned setTrafoObs();
    28 
    29   const ColumnVector&    x() const {return _xFlt;}
    30   const SymmetricMatrix& Q() const {return _QFlt;}
    3131
    3232  int    numSat() const {return _numSat;}
     
    8080  class t_datumTrafo {
    8181  public:
    82     t_datumTrafo () {
    83       initIndices();
    84     }
    85     ~t_datumTrafo () {
    86 
    87     }
    88 
    89     void initIndices() {
    90       _firstRow = 1; _lastRow = 0;
    91     }
    92 
    93     void setFirstSystem(char firstSys) {
    94       _firstSys = firstSys;
    95     }
    96 
     82    t_datumTrafo () {initIndices();}
     83    ~t_datumTrafo (){}
     84
     85    void initIndices() {_firstRow = 1; _lastRow = 0;}
     86    void updateIndices(char sys, int maxObsSys) {
     87      if (firstSystem(sys)) {
     88        initIndices();
     89      }
     90      else {
     91        _firstRow = _lastRow + 1;
     92      }
     93      _lastRow += maxObsSys;//LOG << "updateIndices: lastRow: " << _lastRow << endl;
     94    };
     95
     96    void setFirstSystem(char firstSys) { _firstSys = firstSys;}
    9797    bool firstSystem(char sys) {
    9898      if (_firstSys == sys) {
     
    101101      return false;
    102102    }
    103 
    104     void updateIndices(char sys, int maxObsSys) {
    105       if (firstSystem(sys)) {
    106         initIndices();
    107       }
    108       else {
    109         _firstRow = _lastRow + 1;
    110       }
    111       _lastRow += maxObsSys;//LOG << "updateIndices: lastRow: " << _lastRow << endl;
    112     };
    113 
    114103    void setNumObs(int maxObs) {_maxObs = maxObs;}
    115     void setNumPar(int numPar) { _numPar = numPar;}
     104    void setNumPar(int numPar) {_numPar = numPar;}
     105    int numPar() {return _numPar;}
     106    int numObs() {return _maxObs;}
     107    void updateNumObs() {
     108      _maxObs = _lastRow;
     109      _AA1 = _AA1.SubMatrix(1, _lastRow, 1, _numPar);
     110      _AA2 = _AA2.SubMatrix(1, _lastRow, 1, _numPar);
     111    }
     112
    116113    void setLastEpoParlist(t_pppParlist* parlist) {_parlist = parlist;}
    117114    t_pppParlist* lastEpoParlist() {return _parlist;}
    118     int numPar() {return _numPar;}
    119     int numObs() {return _maxObs;}
    120     void updateNumObs() {//LOG << "updateObsNum _maxObs " << _maxObs;
    121       _maxObs = _lastRow;//LOG << "=>  _maxObs " << _maxObs << " _numPar: " << _numPar << endl;
    122       _AA1 = _AA1.SubMatrix(1, _lastRow, 1, _numPar);
    123       _AA2 = _AA2.SubMatrix(1, _lastRow, 1, _numPar);
    124     }
    125115
    126116    const Matrix& AA1() {return _AA1;}
     
    128118    const Matrix& D21() {return _D21;}
    129119
    130     void initAA() {//LOG << "initAA: _maxObs: " << _maxObs << " _numPar: " << _numPar << endl;
     120    void initAA() {
    131121      _AA1.ReSize(_maxObs, _numPar); _AA1 = 0.0;
    132122      _AA2.ReSize(_maxObs, _numPar); _AA2 = 0.0;
    133123      _D21.ReSize(_numPar, _numPar); _D21 = 0.0;
    134124    }
    135 
    136125    void prepareAA(const Matrix& AA, int ind) {
    137126      Matrix* Prep = &_AA2;
     
    141130      Prep->SubMatrix(_firstRow, _lastRow, 1, _numPar) << AA;
    142131    }
    143 
    144132    void switchAA() {
    145133      _AA1 = _AA2;
    146134    }
    147 
    148135    t_irc computeTrafoMatrix() {
    149136      if (((_AA2.t() * _AA2)).Determinant() == 0.0) {
Note: See TracChangeset for help on using the changeset viewer.