T
- type of the field elements
public class FieldDateDetector<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractDetector<FieldDateDetector<T>,T> implements FieldTimeStamped<T>
此类用于查找日期事件(即预定义日期的发生)。
从版本5.1开始,它是一个增强的日期探测器:
FieldDateDetector(Field, FieldTimeStamped...)
)addEventDate(FieldAbsoluteDate)
)添加的日期之间的间隔必须大于最小间隔。
默认实现行为是在第一个事件日期发生时停止
传播。可以在构造后调用FieldAbstractDetector.withHandler(FieldEventHandler)
来更改此行为。
FieldPropagator.addEventDetector(FieldEventDetector)
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_MAX_CHECK
最大检查的默认值。
|
static double |
DEFAULT_MIN_GAP
添加日期之间的最小间隔的默认值。
|
static double |
DEFAULT_THRESHOLD
收敛阈值的默认值。
|
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK
Modifier | Constructor and Description |
---|---|
|
FieldDateDetector(org.hipparchus.Field<T> field, FieldTimeStamped<T>... dates)
构建一个新实例。
|
protected |
FieldDateDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, double minGap, FieldTimeStamped<T>... dates)
具有完整参数的受保护构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
addEventDate(FieldAbsoluteDate<T> target)
添加事件日期。
|
protected FieldDateDetector<T> |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
T |
g(FieldSpacecraftState<T> s)
计算切换函数的值。
|
FieldAbsoluteDate<T> |
getDate()
根据推算器获取当前事件日期。
|
List<FieldTimeStamped<T>> |
getDates()
获取当前按时间顺序管理的所有事件日期。
|
FieldDateDetector<T> |
withMinGap(double newMinGap)
设置添加日期之间的最小间隔。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
durationFrom
public static final double DEFAULT_MAX_CHECK
public static final double DEFAULT_MIN_GAP
public static final double DEFAULT_THRESHOLD
@SafeVarargs public FieldDateDetector(org.hipparchus.Field<T> field, FieldTimeStamped<T>... dates)
首个事件日期在此处设置,但其他日期可以稍后使用addEventDate(FieldAbsoluteDate)
添加。
field
- 日期所属的字段
dates
- 事件日期列表
addEventDate(FieldAbsoluteDate)
@SafeVarargs protected FieldDateDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, double minGap, FieldTimeStamped<T>... dates)
此构造函数不是公共的,因为预期用户使用建造者API以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
minGap
- 添加日期之间的最小间隔(秒)
dates
- 事件日期列表
public FieldDateDetector<T> withMinGap(double newMinGap)
newMinGap
- 添加日期之间的新最小间隔
protected FieldDateDetector<T> create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
create
在类 FieldAbstractDetector<FieldDateDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public List<FieldTimeStamped<T>> getDates()
public T g(FieldSpacecraftState<T> s)
g
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
g
在类 FieldAbstractDetector<FieldDateDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
public FieldAbsoluteDate<T> getDate()
getDate
在接口 FieldTimeStamped<T extends org.hipparchus.CalculusFieldElement<T>>
public void addEventDate(FieldAbsoluteDate<T> target) throws IllegalArgumentException
要添加的日期必须:
target
- 目标日期
IllegalArgumentException
- 如果日期与已定义的间隔太接近
FieldDateDetector(Field, FieldTimeStamped...)
Copyright © 2002-2023 CS GROUP. All rights reserved.