T
- the type of the field elements
public class FieldEclipseDetector<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractDetector<FieldEclipseDetector<T>,T>
此类查找日食事件,即卫星在本影(全食)或半影(偏食)中。
默认实现行为是在进入日食时继续传播,而在退出日食时停止传播。可以在构造后调用FieldAbstractDetector.withHandler(FieldEventHandler)
来更改此行为。
FieldPropagator.addEventDetector(FieldEventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
|
FieldEclipseDetector(org.hipparchus.Field<T> field, ExtendedPVCoordinatesProvider occulted, double occultedRadius, OneAxisEllipsoid occulting)
构建一个新的日食探测器。
|
|
FieldEclipseDetector(org.hipparchus.Field<T> field, OccultationEngine occultationEngine)
构建一个新的日食探测器。
|
protected |
FieldEclipseDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, OccultationEngine occultationEngine, T margin, boolean totalEclipse)
具有完整参数的受保护构造函数。
|
Modifier and Type | Method and Description |
---|---|
protected FieldEclipseDetector<T> |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int nawMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
T |
g(FieldSpacecraftState<T> s)
计算切换函数的值。
|
T |
getMargin()
获取用于日食检测的角度边距。
|
OccultationEngine |
getOccultationEngine()
获取遮挡引擎。
|
boolean |
getTotalEclipse()
获取全食日食检测标志。
|
FieldEclipseDetector<T> |
withMargin(T newMargin)
设置角度检测的边距。
|
FieldEclipseDetector<T> |
withPenumbra()
设置探测器以检测半影。
|
FieldEclipseDetector<T> |
withUmbra()
设置探测器以检测全影。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public FieldEclipseDetector(org.hipparchus.Field<T> field, ExtendedPVCoordinatesProvider occulted, double occultedRadius, OneAxisEllipsoid occulting)
新实例是一个具有默认最大检查间隔(FieldAbstractDetector.DEFAULT_MAXCHECK
)和收敛阈值(FieldAbstractDetector.DEFAULT_THRESHOLD
)的全食(本影)探测器。
field
- 默认使用的字段
occulted
- 被遮挡的天体
occultedRadius
- 被遮挡天体的半径(米)
occulting
- 遮挡天体
public FieldEclipseDetector(org.hipparchus.Field<T> field, OccultationEngine occultationEngine)
新实例是一个具有默认最大检查间隔(FieldAbstractDetector.DEFAULT_MAXCHECK
)和收敛阈值(FieldAbstractDetector.DEFAULT_THRESHOLD
)的全食(本影)探测器。
field
- 默认使用的字段
occultationEngine
- 遮挡引擎
protected FieldEclipseDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler, OccultationEngine occultationEngine, T margin, boolean totalEclipse)
此构造函数不是公共的,因为预期用户将使用各种withXxx()
方法使用构建器API设置实例,而无需使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
occultationEngine
- 遮挡引擎
margin
- 应用于日食角度的边距(弧度)
totalEclipse
- 本影(true)或半影(false)检测标志
protected FieldEclipseDetector<T> create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int nawMaxIter, FieldEventHandler<T> newHandler)
create
在类中 FieldAbstractDetector<FieldEclipseDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(秒)
nawMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public FieldEclipseDetector<T> withUmbra()
如果之前已配置半影/本影标志,则将覆盖该标志。
withPenumbra()
public FieldEclipseDetector<T> withPenumbra()
如果之前已配置半影/本影标志,则将覆盖该标志。
withUmbra()
public FieldEclipseDetector<T> withMargin(T newMargin)
正边距意味着日食“更大”,因此进入比具有0边距的探测器更早,退出比具有0边距的探测器更晚。
newMargin
- 应用于日食检测的角度边距(弧度)
public T getMargin()
public OccultationEngine getOccultationEngine()
public boolean getTotalEclipse()
public T g(FieldSpacecraftState<T> s)
g
在接口中 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
g
在类中 FieldAbstractDetector<FieldEclipseDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.