D
- type of the detector
T
- type of the field element
public abstract class FieldAbstractDetector<D extends FieldAbstractDetector<D,T>,T extends org.hipparchus.CalculusFieldElement<T>> extends Object implements FieldEventDetector<T>
Propagator.addEventDetector(EventDetector)
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_ITER
事件时间搜索中的默认最大迭代次数。
|
static double |
DEFAULT_MAXCHECK
默认的最大检查间隔(秒)。
|
static double |
DEFAULT_THRESHOLD
默认的收敛阈值(秒)。
|
Modifier | Constructor and Description |
---|---|
protected |
FieldAbstractDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected abstract D |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
abstract T |
g(FieldSpacecraftState<T> s)
计算切换函数的值。
|
FieldEventHandler<T> |
getHandler()
获取处理程序。
|
FieldAdaptableInterval<T> |
getMaxCheckInterval()
获取切换函数检查之间的最大时间间隔。
|
int |
getMaxIterationCount()
获取事件时间搜索中的最大迭代次数。
|
T |
getThreshold()
获取事件时间搜索中的收敛阈值。
|
void |
init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
在传播开始时初始化事件处理程序。
|
boolean |
isForward()
检查当前传播是向前还是向后。
|
D |
withHandler(FieldEventHandler<T> newHandler)
设置事件处理程序以在事件发生时调用。
|
D |
withMaxCheck(double newMaxCheck)
设置最大检查间隔。
|
D |
withMaxCheck(FieldAdaptableInterval<T> newMaxCheck)
设置最大检查间隔。
|
D |
withMaxIter(int newMaxIter)
设置事件时间搜索中的最大迭代次数。
|
D |
withThreshold(T newThreshold)
设置收敛阈值。
|
public static final double DEFAULT_MAXCHECK
public static final double DEFAULT_THRESHOLD
public static final int DEFAULT_MAX_ITER
protected FieldAbstractDetector(FieldAdaptableInterval<T> maxCheck, T threshold, int maxIter, FieldEventHandler<T> handler)
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 事件发生时要调用的事件处理程序
public void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
此方法在传播开始时调用一次。如果需要,事件处理程序可以用来初始化一些内部数据。
默认实现不执行任何操作
init
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
s0
- 初始状态
t
- 集成的目标时间
public abstract T g(FieldSpacecraftState<T> s)
g
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
public FieldAdaptableInterval<T> getMaxCheckInterval()
getMaxCheckInterval
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
public int getMaxIterationCount()
getMaxIterationCount
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
public T getThreshold()
getThreshold
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
public D withMaxCheck(double newMaxCheck)
如果之前已配置了最大检查间隔,这将覆盖它。
newMaxCheck
- 最大检查间隔(秒)
public D withMaxCheck(FieldAdaptableInterval<T> newMaxCheck)
如果之前已配置了最大检查间隔,这将覆盖它。
newMaxCheck
- 最大检查间隔(秒)
public D withMaxIter(int newMaxIter)
如果之前已配置了迭代次数,这将覆盖它。
newMaxIter
- 事件时间搜索中的最大迭代次数
public D withThreshold(T newThreshold)
如果之前已配置了收敛阈值,这将覆盖它。
newThreshold
- 收敛阈值(秒)
public D withHandler(FieldEventHandler<T> newHandler)
如果之前已配置了处理程序,这将覆盖它。
newHandler
- 事件发生时要调用的事件处理程序
public FieldEventHandler<T> getHandler()
getHandler
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
protected abstract D create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 在事件发生时调用的事件处理程序
public boolean isForward()
Copyright © 2002-2023 CS GROUP. All rights reserved.