Class EphemerisManager

Inheritance Relationships

Base Type

Class Documentation

class EphemerisManager : public lupnt::Agent

Coordinator agent for the ephemeris/almanac datasize-accuracy study (Example 9).

A non-physical agent representing the navigation-message generation / ground processing node. It hosts an EphemerisApp (its application: block) that owns the whole study: propagating a lunar-satellite truth trajectory, fitting the LansEphemeris / LansAlmanac broadcast models over a sweep of fitting-window lengths, and sizing the broadcast bit budget. Having no state of its own, its GetStateAt returns a zero state (mirroring SurfaceStationManager).

Public Functions

EphemerisManager() = default
inline explicit EphemerisManager(Config &config)
inline virtual Cart6 GetStateAt(Real) const override

Compute (or interpolate/propagate) the agent’s Cartesian state [r; v] at an arbitrary time t, without mutating the agent’s stored state/time.

Pure virtual: every concrete agent (Satellite, Rover, GroundStation, SurfaceStation, …) must provide this so that measurement models and other agents can query “where was/will this agent be at time `t`” (e.g. for light-time-corrected GNSS pseudorange computation).

Parameters:

t – Query time [s]

Returns:

Cartesian state [r; v] at time t, in the agent’s dynamics frame