Function pecsim::propagate_ray

Function Documentation

VecXd pecsim::propagate_ray(double t_prop, const Vec3d &dir, double sf, const Vec3d &x1, const Vec3d &x2, double t_rx, RayTraceConfig config, MatXd &store_mat, bool use_precomputed_densities = false)

Propagate a ray from transmitter to receiver.

Parameters:
  • t_prop – Propagation time in seconds (=t_rx - t_tx)

  • dir – Initial direction vector of the ray (normalized)

  • sf – Final distance of the ray (computed by correction)

  • x1 – Position of the transmitter in Cartesian coordinates

  • x2 – Position of the receiver in Cartesian coordinates

  • t_rx – Reception time in seconds since J2000 epoch

  • config – Ray trace configuration

  • azel_diff – Azimuth and elevation difference for correction

  • store_mat – Matrix to store n, gradn, ne_m3, and B_dot_s for each step

  • use_precomputed_densities – Use precomputed dzds for faster propagation

Returns:

Final state vector containing position, direction, time, and TEC