🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
LeapSecond.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <cstdio>
25#include <vector>
26
27AST_NAMESPACE_BEGIN
28
29
37class JulianDate;
38class TimePoint;
39class Date;
40
44class AST_CORE_API LeapSecond
45{
46public:
47 struct Entry
48 {
49 int mjd;
50 int leapSecond;
51 };
52public:
53 LeapSecond();
54public:
58 errc_t load(StringView filepath);
59
64 errc_t loadHPIERS(StringView filepath);
65
69 errc_t loadATK(StringView filepath);
70
73 errc_t loadDefault();
74
76 void setDefaultData();
77
79 void setData(const std::vector<int>& mjd, const std::vector<int>& taiMinusUTC);
80protected:
84 errc_t loadATK(FILE* file);
85
89 errc_t loadSTK(FILE* file);
90
95 errc_t loadHPIERS(FILE* file);
96
101 errc_t loadSpice(FILE* file);
102public:
106 double leapSecondUTC(ImpreciseJD jdUTC);
107 double leapSecondUTCMJD(ImpreciseMJD mjdUTC);
108
112 double leapSecondTAI(ImpreciseJD jdTAI);
113 double leapSecondTAIMJD(ImpreciseMJD mjdTAI);
114
115
119 double getLodUTC(const Date& utcDate);
120
124 double getLodUTCMJD(ImpreciseMJD mjdUTC);
125
127 const std::vector<Entry>& data() const { return m_data; }
128 std::vector<Entry>& data() { return m_data; }
129
130
131protected:
132 std::vector<Entry> m_data;
133};
134
135
139AST_NAMESPACE_END
日期
定义 Date.hpp:120
闰秒类
定义 LeapSecond.hpp:45
const std::vector< Entry > & data() const
获取闰秒数据
定义 LeapSecond.hpp:127
定义 LeapSecond.hpp:48