File FrameReference.hpp¶
File List > astrea > astro > astro > frames > FrameReference.hpp
Go to the documentation of this file
#pragma once
#include <string>
#include <units/units.hpp>
#include <astro/astro.fwd.hpp>
#include <astro/frames/instances/body_centered_inertial_frames.hpp>
#include <astro/types/typedefs.hpp>
namespace astrea {
namespace astro {
class FrameReference {
public:
FrameReference() = default;
virtual ~FrameReference() = default;
virtual std::string get_name() const = 0;
virtual CartesianVector<Distance, frames::earth::icrf> get_inertial_position(const Date& date) const = 0;
virtual CartesianVector<Velocity, frames::earth::icrf> get_inertial_velocity(const Date& date) const = 0;
virtual CartesianVector<Acceleration, frames::earth::icrf> get_inertial_acceleration(const Date& date) const;
};
} // namespace astro
} // namespace astrea