/// Version without high-accuracy SolarSystem; cf. doc for other version. double ComputeAtTransmitTime(const CommonTime& nomRecTime, const double pr, const Position& Rx, const SatID sat, const AntexData& antenna, const XvtStore<SatID>& Eph) throw(Exception) { // ssdummy will be invalid, so SolarPosition will be used; // thus EarthOrientation will never be needed. SolarSystem ssdummy; EarthOrientation eodum; return ComputeAtTransmitTime(nomRecTime,pr,Rx,sat,antenna,ssdummy,eodum,Eph); }
/// Version with no antenna; cf. doc for other version. double ComputeAtTransmitTime(const CommonTime& nomRecTime, const double pr, const Position& Rx, const SatID sat, const XvtStore<SatID>& Eph) throw(Exception) { // antdummy will be invalid, so antenna computations will be skipped; // thus SolarSystem and EarthOrientation will never be needed. SolarSystem ssdum; EarthOrientation eodum; AntexData antdummy; return ComputeAtTransmitTime(nomRecTime,pr,Rx,sat,antdummy,ssdum,eodum,Eph); }
double CorrectedEphemerisRange::ComputeAtTransmitTime( const CommonTime& tr_nom, const Position& Rx, const SatID sat, const XvtStore<SatID>& Eph) { try { gpstk::GPSEllipsoid gm; svPosVel = Eph.getXvt(sat, tr_nom); double pr = svPosVel.preciseRho(Rx, gm); return ComputeAtTransmitTime(tr_nom, pr, Rx, sat, Eph); } catch(gpstk::Exception& e) { GPSTK_RETHROW(e); } }