FOUND
Loading...
Searching...
No Matches
orbit.hpp
1#ifndef SRC_ORBIT_ORBIT_HPP_
2#define SRC_ORBIT_ORBIT_HPP_
3
4#include <vector>
5#include <utility>
6
7#include "common/spatial/attitude-utils.hpp"
8#include "common/pipeline/stages.hpp"
9#include "common/style.hpp"
10
11namespace found {
12
17class OrbitPropagationAlgorithm : public FunctionStage<LocationRecords, LocationRecords> {
18 public:
23};
24
31 public:
40 explicit ApproximateOrbitPropagationAlgorithm(decimal totalTime, decimal dt, decimal radius, decimal mu)
41 : totalTime_(totalTime), dt_(dt), radius_(radius), mu_(mu) {}
42
45
53 LocationRecords Run(const LocationRecords &data) override;
54
55 private:
57 decimal totalTime_;
59 decimal dt_;
61 decimal radius_;
63 decimal mu_;
64};
65
66} // namespace found
67
68#endif // SRC_ORBIT_ORBIT_HPP_
OrbitPropagationAlgorithm is a stage that propagates an orbit over a specified time period.
Definition orbit.hpp:30
ApproximateOrbitPropagationAlgorithm(decimal totalTime, decimal dt, decimal radius, decimal mu)
Constructs this OrbitPropagationAlgorithm.
Definition orbit.hpp:40
decimal totalTime_
The total time to predict over.
Definition orbit.hpp:57
decimal mu_
The gravitational parameter (default is for Earth in km^3/s^2)
Definition orbit.hpp:63
LocationRecords Run(const LocationRecords &data) override
Projects an orbit.
decimal dt_
The time step for integration (seconds)
Definition orbit.hpp:59
decimal radius_
The radius of the celestial body (default is for Earth, in km)
Definition orbit.hpp:61
A FunctionStage is a data structure that wraps a function, and taking in parameter Input and returnin...
Definition stages.hpp:56
The OrbitPropagationAlgorithm is an algorithm that propagates an orbit over a specified time period.
Definition orbit.hpp:17
OrbitPropagationAlgorithm()=default
Constructs this.
virtual ~OrbitPropagationAlgorithm()
Destroys this.
Definition orbit.hpp:22