24#include "AstReport/DataGroupTimeVar.hpp"
25#include "AstCore/Point.hpp"
26#include "AstCore/Frame.hpp"
27#include "AstMath/Vector.hpp"
28#include "AstUtil/Span.hpp"
48 const TimePoint& getTime()
const {
return time_; }
49 double getVX()
const {
return vel_.x(); }
50 double getVY()
const {
return vel_.y(); }
51 double getVZ()
const {
return vel_.z(); }
54 double getSpeed()
const {
return vel_.norm(); }
59 double r = pos_.norm();
60 return (r < 1e-12) ? 0.0 : vel_.dot(pos_) / r;
66 double r = pos_.norm();
67 return (r < 1e-12) ? 0.0 : pos_.cross(vel_).norm() / r;
77 errc_t calculate(
const TimeList& timeList, std::vector<Data>& result)
const;
80 Point* getPoint()
const {
return point_.get(); }
81 Frame* getFrame()
const {
return frame_.get(); }
82 void setPoint(Point* p) { point_ = p; }
83 void setFrame(Frame* f) { frame_ = f; }
85 WeakPtr<Point> point_{};
86 WeakPtr<Frame> frame_{};
数据元素容器
定义 DataElements.hpp:90
笛卡尔速度数据组 — ICRF 坐标系下的 vx, vy, vz, speed, vr, vi 速度分量
定义 DataGroupCartVel.hpp:40
随时间变化的数据组
定义 DataGroupTimeVar.hpp:37
非拥有的连续对象序列视图
定义 Span.hpp:71
绝对时间点
定义 TimePoint.hpp:108
变类型向量容器
定义 VariantVector.hpp:59
定义 DataGroupCartVel.hpp:43
Vector3d pos_
位置(用于计算径向/迹向速度分量)
定义 DataGroupCartVel.hpp:45
double getRadialVel() const
径向速度 — 速度在位置方向上的投影 vr = vel·pos / |pos|
定义 DataGroupCartVel.hpp:57
double getInTrackVel() const
迹向速度 — 速度在垂直于径向方向上的分量 vi = |pos × vel| / |pos|
定义 DataGroupCartVel.hpp:64
double getSpeed() const
速率 — 速度矢量的模 |vel|
定义 DataGroupCartVel.hpp:54