Class LunaNetSatApp¶
Defined in File lunanet_sat_app.h
Inheritance Relationships¶
Base Type¶
public lupnt::Application(Class Application)
Class Documentation¶
-
class LunaNetSatApp : public lupnt::Application¶
Composite application attached to a LunaNet satellite agent.
The simulation schedules this application like any other
Application. Each scheduled call fans out to registered sub-apps in insertion order. This keeps the satellite-level event cadence in one place while allowing ODTS, prediction, ephemeris fitting, and nav-message generation to be developed as separate modules.Public Functions
-
LunaNetSatApp() = default¶
-
void AddSubApp(Ptr<LunaNetSubApp> app)¶
-
inline const std::vector<Ptr<LunaNetSubApp>> &GetSubApps() const¶
-
virtual void Setup() override¶
Initialize the application and schedule its periodic Step() calls.
Base implementation: if GetFrequency() > 0, schedules
Step(t)on the owning agent’s Simulation at Event::Priority::APPLICATION, starting at t=0 with period 1/GetFrequency() seconds; otherwise logs a warning that no frequency is set. Derived classes (e.g. RoverApp::Setup, SurfaceStationApp::Setup) override this to additionally initialize their Filter’s time/state/covariance and dynamics/process noise callbacks before (optionally) calling the base behavior.
-
virtual void Step(Real t) override¶
Run one simulation step of this application’s mission logic at time
t.Pure virtual: derived classes implement the actual filter predict/update cycle here (e.g. RoverApp::Step computes a control input and logs state; the LNSS application’s Step would run the GNSS measurement-update). Invoked periodically by the Simulation event scheduled in Setup(), at the application’s configured frequency.
- Parameters:
t – Current simulation time [s, since simulation epoch]
-
void Finish()¶
-
LunaNetSatApp() = default¶