T
- type of the field elements
public class FieldLongitudeCrossingDetector<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractDetector<FieldLongitudeCrossingDetector<T>,T>
该探测器标识了当飞船相对于中心天体穿越固定经度时。
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
|
FieldLongitudeCrossingDetector(org.hipparchus.Field<T> field, OneAxisEllipsoid body, double longitude)
构建一个新的探测器。
|
protected |
FieldLongitudeCrossingDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, OneAxisEllipsoid body, double longitude)
全参数的受保护构造函数。
|
|
FieldLongitudeCrossingDetector(T maxCheck, T threshold, OneAxisEllipsoid body, double longitude)
构建一个探测器。
|
Modifier and Type | Method and Description |
---|---|
protected FieldLongitudeCrossingDetector<T> |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
T |
g(FieldSpacecraftState<T> s)
计算探测函数的值。
|
OneAxisEllipsoid |
getBody()
获取定义地理区域的天体。
|
double |
getLongitude()
获取要穿越的固定经度(弧度)。
|
void |
init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
在传播开始时初始化事件处理程序。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public FieldLongitudeCrossingDetector(org.hipparchus.Field<T> field, OneAxisEllipsoid body, double longitude)
新实例使用最大检查间隔(FieldAbstractDetector.DEFAULT_MAXCHECK
)和收敛阈值(FieldAbstractDetector.DEFAULT_THRESHOLD
)的默认值。
field
- 要使用的数字类型。
body
- 定义经度的天体
longitude
- 要穿越的经度
public FieldLongitudeCrossingDetector(T maxCheck, T threshold, OneAxisEllipsoid body, double longitude)
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
body
- 定义经度的天体
longitude
- 要穿越的经度
protected FieldLongitudeCrossingDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, OneAxisEllipsoid body, double longitude)
此构造函数不是公共的,因为预期用户将使用建造者API和各种withXxx()
方法来设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
body
- 定义经度的天体
longitude
- 要穿越的经度
protected FieldLongitudeCrossingDetector<T> create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
create
在类中 FieldAbstractDetector<FieldLongitudeCrossingDetector<T 扩展 org.hipparchus.CalculusFieldElement<T>>,T 扩展 org.hipparchus.CalculusFieldElement<T>>
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public OneAxisEllipsoid getBody()
public double getLongitude()
public void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
此方法在传播开始时调用一次。如果需要,事件处理程序可以使用此方法初始化一些内部数据。
默认实现不执行任何操作
init
在接口中 FieldEventDetector<T 扩展 org.hipparchus.CalculusFieldElement<T>>
init
在类中 FieldAbstractDetector<FieldLongitudeCrossingDetector<T 扩展 org.hipparchus.CalculusFieldElement<T>>,T 扩展 org.hipparchus.CalculusFieldElement<T>>
s0
- 初始状态
t
- 集成的目标时间
public T g(FieldSpacecraftState<T> s)
该值是飞船与要穿越的固定经度之间的经度差异,通过一些符号调整以确保连续性。这些调整意味着事件检测中的increasing
标志在这里变得无关紧要!例如,顺行飞船的经度将始终增加,但此g函数将增加和减少,因此它将在每个轨道上交叉零值,交替轨道上的增加和减少方向。如果需要区分东向和西向的穿越,必须检查速度方向,而不是查看increasing
标志。
g
在接口中 FieldEventDetector<T 扩展 org.hipparchus.CalculusFieldElement<T>>
g
在类中 FieldAbstractDetector<FieldLongitudeCrossingDetector<T 扩展 org.hipparchus.CalculusFieldElement<T>>,T 扩展 org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.