Class EphemerisGenApp¶
Defined in File ephemeris_gen_app.h
Inheritance Relationships¶
Base Type¶
public lupnt::LunaNetSubApp(Class LunaNetSubApp)
Class Documentation¶
-
class EphemerisGenApp : public lupnt::LunaNetSubApp¶
LunaNet sub-app that generates broadcast ephemeris (precise, short-validity) and almanac (coarse, long-validity) navigation messages from the satellite’s own predicted trajectory.
This is the “navigation-message generation” sub-app anticipated by
LunaNetSubApp: attach it to aLunaNetSatAppviaAddSubAppto embed broadcast-message generation in the LunaNet satellite routine. On eachStep(t), when a refresh is due, it samples the owning agent’s predicted state over the corresponding validity window (Agent::GetStateAt, i.e. it propagates its own orbit forward the way a real satellite would before broadcasting) and fits aLansEphemeris/LansAlmanac, appending the resultingBroadcastMessage.When no agent is attached (e.g. unit tests or offline generation) the same models can be driven directly via
GenerateEphemerisFromArc/GenerateAlmanacFromArc.Public Functions
-
explicit EphemerisGenApp(EphemerisGenConfig config = {})¶
-
virtual void Setup(LunaNetSatApp &app) override¶
-
virtual void Finish() override¶
-
const BroadcastMessage &GenerateEphemerisFromArc(double t_gen_s, const VecXd &t_s, const MatXd &rv)¶
Fit and store an ephemeris message from an explicit sampled arc.
- Parameters:
t_gen_s – Elapsed time the message is generated / becomes valid [s].
t_s – Sample epochs of the arc [s] (strictly increasing).
rv – Sampled Cartesian states [N x 6].
-
const BroadcastMessage &GenerateAlmanacFromArc(double t_gen_s, const VecXd &t_s, const MatXd &rv)¶
Fit and store an almanac message from an explicit sampled arc.
-
inline const std::vector<BroadcastMessage> &GetEphemerisMessages() const¶
-
inline const std::vector<BroadcastMessage> &GetAlmanacMessages() const¶
-
const BroadcastMessage *LatestEphemeris(double t_s) const¶
Most recent generated message whose validity window contains
t_s(nullptr if none) — mirrors a receiver selecting the currently valid broadcast page.
-
const BroadcastMessage *LatestAlmanac(double t_s) const¶
-
inline const EphemerisGenConfig &GetConfig() const¶
-
inline const LansEphemeris &GetEphemerisModel() const¶
-
inline const LansAlmanac &GetAlmanacModel() const¶
-
explicit EphemerisGenApp(EphemerisGenConfig config = {})¶