WSF
WsfOrbitDeterminationKalmanFilter.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2017 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFORBITDETERMINATIONKALMANFILTER_HPP
13#define WSFORBITDETERMINATIONKALMANFILTER_HPP
14
15#include "wsf_space_export.h"
16
17#include <memory>
18
19class UtOrbitalPropagatorBase;
20#include "OrbitDeterminationKalmanFilter.hpp"
21#include "WsfFilter.hpp"
22class WsfScenario;
23
25class WSF_SPACE_EXPORT WsfOrbitDeterminationKalmanFilter : public WsfFilter
26{
27public:
31
32 bool ProcessInput(UtInput& aInput) override;
33
35
36 void SetStatePropagator(std::unique_ptr<UtOrbitalPropagatorBase> aStatePropagatorPtr);
37
38 bool Initialize(double aSimTime, const ut::OrbitalState& aState);
39
40 const ut::OrbitalState& GetOrbitalState() const;
41
42 bool Initialize(double aSimTime, WsfSimulation* aSimulationPtr, const UtMatrixd* aInitialStatePtr) override;
43
44 bool HyperbolicOrbitAllowed() const { return GetFilter().HyperbolicOrbitAllowed(); }
45
47 bool UsingDefaultPropagator() const { return mUsingDefaultPropagator; }
48
51 const UtOrbitalPropagatorBase* GetStatePropagator() const { return GetFilter().GetStatePropagator(); }
52
53private:
54 TrackingFilters::OrbitDeterminationKalmanFilter& GetFilter() const;
55
56 const WsfScenario& mScenario;
57 bool mUsingDefaultPropagator{true};
58};
59
60#endif
WsfFilter()=delete
virtual bool Initialize(double aSimTime, WsfSimulation *aSimulationPtr, const UtMatrixd *aInitialStatePtr=nullptr)
Definition WsfFilter.cpp:59
bool ProcessInput(UtInput &aInput) override
Definition WsfFilter.cpp:45
WsfOrbitDeterminationKalmanFilter * Clone() const override
Definition WsfOrbitDeterminationKalmanFilter.hpp:34
WsfOrbitDeterminationKalmanFilter(const WsfOrbitDeterminationKalmanFilter &aSrc)=default
bool UsingDefaultPropagator() const
Return whether a filter propagator was set during input.
Definition WsfOrbitDeterminationKalmanFilter.hpp:47
bool HyperbolicOrbitAllowed() const
Definition WsfOrbitDeterminationKalmanFilter.hpp:44
WsfOrbitDeterminationKalmanFilter(const WsfScenario &aScenario)
Definition WsfOrbitDeterminationKalmanFilter.cpp:25
const UtOrbitalPropagatorBase * GetStatePropagator() const
Definition WsfOrbitDeterminationKalmanFilter.hpp:51
~WsfOrbitDeterminationKalmanFilter() override=default
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved