observe.h

observe.h#

Functions

void get_glb_correction(PropSimulation *propSim, const size_t &interpIdx, const real &tInterpGeom, std::vector<real> &xInterpApparentBary)#

Compute the correction to the apparent state of the body due to the gravitational light bending.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • interpIdx[in] Index of the next interpolation time.

  • tInterpGeom[in] Time to interpolate to.

  • xInterpApparentBary[out] Apparent state vector of the target body.

void get_measurement(PropSimulation *propSim, const size_t &interpIdx, const real tInterpGeom, const std::vector<real> &xInterpGeom, const std::vector<real> &xInterpApparent)#

Get the relevant measurement (optical/radar) for a given measurement time.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • interpIdx[in] Index of the next interpolation time.

  • tInterpGeom[in] Time to interpolate to.

  • xInterpGeom[in] Geometric state vector of the target body at the interpolation time.

  • xInterpApparent[in] Apparent state vector of the target body at the interpolation time.

void get_optical_measurement(PropSimulation *propSim, const std::vector<real> &xInterpApparent, std::vector<real> &opticalMeasurement, std::vector<real> &opticalMeasurementDot, std::vector<real> &opticalPartials)#

Get the optical measurement and partials.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • xInterpApparent[in] Apparent state vector of the target body.

  • opticalMeasurement[out] Optical measurement (RA and Dec).

  • opticalMeasurementDot[out] Time derivative of the optical measurement.

  • opticalPartials[out] Partials of the optical measurement.

void get_photocenter_correction(PropSimulation *propSim, const size_t &interpIdx, const real &tInterpGeom, const std::vector<real> &xInterpApparent, std::vector<real> &photocenterCorr)#

Get the photocenter-barycenter correction for an optical measurement.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • interpIdx[in] Index of the next interpolation time.

  • tInterpGeom[in] Time to interpolate to.

  • xInterpApparent[in] Apparent state vector of the target body.

  • photocenterCorr[out] Photocenter-barycenter correction to the optical measurement.

void get_radar_measurement(PropSimulation *propSim, const size_t &interpIdx, const real tInterpGeom, const std::vector<real> &xInterpGeom, std::vector<real> &radarMeasurement, std::vector<real> &radarPartials)#

Get the radar measurement and partials.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • interpIdx[in] Index of the next interpolation time.

  • tInterpGeom[in] Time to interpolate to.

  • xInterpGeom[in] Geometric state vector of the target body at the interpolation time.

  • radarMeasurement[out] Radar measurement (range/Doppler).

  • radarPartials[out] Partials of the radar measurement.

void get_delay_measurement(PropSimulation *propSim, const size_t &interpIdx, const size_t &i, const real tInterpGeom, const std::vector<real> &xInterpGeom, const real &receiveTimeTDB, real &transmitTimeTDB, std::vector<real> &xObsBaryRcv, std::vector<real> &xTrgtBaryBounce, std::vector<real> &xObsBaryTx, real &delayMeasurement, std::vector<real> &delayPartials)#

Get the radar delay measurement and partials.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • interpIdx[in] Index of the next interpolation time.

  • i[in] Index of the target body.

  • tInterpGeom[in] Time to interpolate to.

  • xInterpGeom[in] Geometric state vector of the target body at the interpolation time.

  • receiveTimeTDB[in] Time of reception of the radar signal (TDB).

  • transmitTimeTDB[out] Time of transmission of the radar signal (TDB).

  • xObsBaryRcv[out] Barycentric state vector of the observer at the reception time.

  • xTrgtBaryBounce[out] Barycentric state vector of the target body at the bounce time.

  • xObsBaryTx[out] Barycentric state vector of the observer at the transmission time.

  • delayMeasurement[out] Radar delay measurement.

  • delayPartials[out] Partials of the radar delay measurement.

void get_delta_delay_relativistic(PropSimulation *propSim, const real &tForSpice, const std::vector<real> &targetState, real &deltaDelayRelativistic)#

Get the relativistic delay measurement correction.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • tForSpice[in] Time for querying SPICE Ephemeris for the Sun and Earth positions.

  • targetState[in] State vector of the target body.

  • deltaDelayRelativistic[out] Relativistic delay correction (Shapiro delay).

void get_doppler_measurement(PropSimulation *propSim, const size_t &i, const real receiveTimeTDB, const real transmitTimeTDB, const std::vector<real> xObsBaryRcv, const std::vector<real> xTrgtBaryBounce, const std::vector<real> xObsBaryTx, const real transmitFreq, real &dopplerMeasurement, std::vector<real> &dopplerPartials)#

Get the Doppler measurement and partials.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • i[in] Index of the target body.

  • receiveTimeTDB[in] Time of reception of the radar signal (TDB).

  • transmitTimeTDB[in] Time of transmission of the radar signal (TDB).

  • xObsBaryRcv[in] Barycentric state vector of the observer at the reception time.

  • xTrgtBaryBounce[in] Barycentric state vector of the target body at the bounce time.

  • xObsBaryTx[in] Barycentric state vector of the observer at the transmission time.

  • transmitFreq[in] Frequency of the transmitted radar signal.

  • dopplerMeasurement[out] Doppler measurement.

  • dopplerPartials[out] Partials of the Doppler measurement.

void evaluate_one_interpolation(const PropSimulation *propSim, const real &tInterp, std::vector<real> &xInterp)#

Interpolate the integrator state for one evaluation time.

Parameters:
  • propSim[in] PropSimulation object for the integration.

  • tInterp[in] Time to interpolate to.

  • xInterp[out] Interpolated state vector.