Class Occultation

Class Documentation

class Occultation

Public Static Functions

static std::map<std::string, bool> ComputeOccultationGnss(const Vec3d tx_eci, const Vec3d tx_mci, const Vec3d rx_eci, const Vec3d rx_mci, const std::string tx_planet)

Compute occultation between a tx and a rx for Lunar satellites.

Parameters:
  • tx_eci – The tx position in the Earth-centered inertial

  • tx_mci – The tx position in the Moon-centered inertial

  • rx_eci – The rx position in the Earth-centered inertial frame

  • rx_mci – The rx position in the Moon-centered inertial frame

  • tx_planet – The planet surface the transmitter is on

Returns:

std::map<std::string, bool>

static std::map<std::string, bool> ComputeOccultation(Real epoch, const Vec3 &r1, const Vec3 &r2, Frame cs1, Frame cs2, const std::vector<NaifId> &bodies, const VecXd &atm_h)

Compute occultation between a tx and a rx for a list of planets.

Parameters:
  • epoch – The epoch in TAI

  • r1 – The tx position

  • r2 – The tx position

  • cs1 – The frame of the tx

  • cs2 – The frame of the rx

  • bodies – The list of planets to check for occultation (naif ids)

  • atm_h – The atmospheric heights of the planets

Returns:

std::map<string, bool> A map of the planets and their occultation, [“all”] is the total occultation

static std::vector<std::map<std::string, bool>> ComputeOccultation(Real epoch, const Mat<-1, 3> &r1, const Mat<-1, 3> &r2, Frame cs1, Frame cs2, const std::vector<NaifId> &bodies, const VecXd &atm_h)

Compute occultation between a tx and a rx for a list of planets (vectorized, epoch fixed)

Parameters:
  • epoch – The epoch in TAI

  • r1 – The tx position

  • r2 – The rx position

  • cs1 – The frame of the tx

  • cs2 – The frame of the rx

  • bodies – The list of planets to check for occultation (naif ids)

Returns:

std::vector<std::map<string, bool>>

static std::vector<std::map<std::string, bool>> ComputeOccultation(const VecX &epoch, const Mat<-1, 3> &r1, const Mat<-1, 3> &r2, Frame cs1, Frame cs2, const std::vector<NaifId> &bodies, const VecXd &atm_h)

Compute occultation between a tx and a rx for a list of planets (vectorized, epoch vector)

Parameters:
  • epoch – The epoch vector in TAI

  • r1 – The tx position

  • r2 – The rx position

  • cs1 – The frame of the tx

  • cs2 – The frame of the rx

  • bodies – The list of planets to check for occultation (naif ids)

Returns:

std::vector<std::map<string, bool>>