public class ParameterDrivenDateIntervalDetector extends AbstractDetector<ParameterDrivenDateIntervalDetector>
日期间隔可以使用两种双重视图:开始日期/停止日期或中间日期/持续时间。start
/stop
驱动器和median
/duration
驱动器成对工作。一个对中的两个驱动器可以被选择,并且它们的更改将传播到另一对中,但是尝试同时选择两对中的驱动器将触发异常。应避免更改未选择的驱动器的值,因为这会导致两对之间的不一致。
ParameterDriver.addSpans(AbsoluteDate, AbsoluteDate, double)
。
Propagator.addEventDetector(EventDetector)
Modifier and Type | Field and Description |
---|---|
static String |
DURATION_SUFFIX
持续时间驱动器的默认后缀。
|
static String |
MEDIAN_SUFFIX
中间日期驱动器的默认后缀。
|
static String |
START_SUFFIX
开始日期驱动器的默认后缀。
|
static String |
STOP_SUFFIX
停止日期驱动器的默认后缀。
|
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
ParameterDrivenDateIntervalDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, DateDriver start, DateDriver stop, DateDriver median, ParameterDriver duration)
全参数的受保护构造函数。
|
|
ParameterDrivenDateIntervalDetector(String prefix, AbsoluteDate refStart, AbsoluteDate refStop)
构建一个新实例。
|
|
ParameterDrivenDateIntervalDetector(String prefix, AbsoluteDate refMedian, double refDuration)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected ParameterDrivenDateIntervalDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算切换函数的值。
|
ParameterDriver |
getDurationDriver()
获取持续时间的驱动器。
|
DateDriver |
getMedianDriver()
获取中间日期的驱动器。
|
DateDriver |
getStartDriver()
获取开始日期的驱动器。
|
DateDriver |
getStopDriver()
获取停止日期的驱动器。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public ParameterDrivenDateIntervalDetector(String prefix, AbsoluteDate refMedian, double refDuration)
prefix
- 用于参数驱动器名称的前缀
refMedian
- 参考间隔中间日期
refDuration
- 参考持续时间
public ParameterDrivenDateIntervalDetector(String prefix, AbsoluteDate refStart, AbsoluteDate refStop)
prefix
- 用于参数驱动器名称的前缀
refStart
- 参考间隔开始日期
refStop
- 参考间隔停止日期
protected ParameterDrivenDateIntervalDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, DateDriver start, DateDriver stop, DateDriver median, ParameterDriver duration)
此构造函数不是公共的,因为预期用户将使用各种withXxx()
方法使用构建器API设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
start
- 参考间隔开始驱动器
stop
- 参考间隔停止驱动器
median
- 中间日期驱动器
duration
- 持续时间驱动器
protected ParameterDrivenDateIntervalDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<ParameterDrivenDateIntervalDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public DateDriver getStartDriver()
public DateDriver getStopDriver()
public DateDriver getMedianDriver()
请注意,如果开始日期getStartDriver()
或停止日期停止日期
中的任何一个被选择
更改,则中间日期会自动调整。
public ParameterDriver getDurationDriver()
请注意,如果开始日期getStartDriver()
或停止日期停止日期
中的任何一个被选择
更改,则持续时间会自动调整。
public double g(SpacecraftState s)
该函数对于在将参数驱动器的偏移应用于参考日期后定义的间隔内的日期为正,并且对于在此间隔之外的日期为负。请注意,如果Δt_start - Δt_stop小于ref_stop.durationFrom(ref_start),则间隔将退化为空,并且函数永远不会达到正值。
g
在接口 EventDetector
g
在类 AbstractDetector<ParameterDrivenDateIntervalDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.