T
- type of the field elements
public class FieldNodeDetector<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractDetector<FieldNodeDetector<T>,T>
此类查找赤道穿越事件(即升降节点穿越)。
默认实现行为是在下降节点穿越时继续
传播,在上升节点穿越时停止
传播。可以在构造后调用FieldAbstractDetector.withHandler(FieldEventHandler)
来更改此行为。
请注意,节点检测对于几乎赤道轨道将失败。例如,如果节点检测器用于触发一个ImpulseManeuver
,并且机动将轨道平面转向赤道,则检测器可能在执行机动后完全失败!这是在验证过程中遇到的一个真实案例...
FieldPropagator.addEventDetector(FieldEventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
FieldNodeDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, Frame frame)
具有完整参数的受保护构造函数。
|
|
FieldNodeDetector(FieldOrbit<T> orbit, Frame frame)
构建一个新实例。
|
|
FieldNodeDetector(T threshold, FieldOrbit<T> orbit, Frame frame)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected FieldNodeDetector<T> |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
T |
g(FieldSpacecraftState<T> s)
计算切换函数的值。
|
Frame |
getFrame()
获取定义赤道的参考系。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public FieldNodeDetector(FieldOrbit<T> orbit, Frame frame)
轨道仅用于将最大检查间隔设置为周期的1/3,并根据轨道大小设置收敛阈值。
public FieldNodeDetector(T threshold, FieldOrbit<T> orbit, Frame frame)
轨道仅用于将最大检查间隔设置为周期的1/3。
protected FieldNodeDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, Frame frame)
此构造函数不是公共的,因为预期用户将使用构建器API和各种withXxx()
方法来设置实例,而无需使用大量参数。
protected FieldNodeDetector<T> create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
create
在类中 FieldAbstractDetector<FieldNodeDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public Frame getFrame()
public T g(FieldSpacecraftState<T> s)
g
在接口中 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
g
在类中 FieldAbstractDetector<FieldNodeDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.