T
- type of the interval detector
public abstract class IntervalEventTrigger<T extends AbstractDetector<T>> extends AbstractManeuverTriggers
触发间隔对应于事件探测器g
函数的正值时间跨度。
StartStopEventsTrigger
DATATION_ACCURACY
Constructor and Description |
---|
IntervalEventTrigger(T prototypeFiringIntervalDetector)
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
protected abstract <D extends FieldAbstractDetector<D,S>,S extends org.hipparchus.CalculusFieldElement<S>> |
convertIntervalDetector(org.hipparchus.Field<S> field, T detector)
将原始触发间隔探测器转换为字段触发间隔探测器。
|
Stream<EventDetector> |
getEventDetectors()
获取与模型相关的离散事件。
|
<S extends org.hipparchus.CalculusFieldElement<S>> |
getFieldEventDetectors(org.hipparchus.Field<S> field)
获取与模型相关的离散事件。
|
T |
getFiringIntervalDetector()
触发间隔探测器的getter。
|
protected boolean |
isFiringOnInitialState(SpacecraftState initialState, boolean isForward)
用于检查推进器是否在初始化时处于启动状态的方法。
|
addResetter, addResetter, applyResetters, applyResetters, getFirings, init, init, initializeResetters, initializeResetters, isFiring, isFiring, notifyResetters, notifyResetters
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, getParametersDrivers, isSupported
getEventDetectors, getFieldEventDetectors
public IntervalEventTrigger(T prototypeFiringIntervalDetector)
请注意,作为参数传递的intervalDetector
仅用作新探测器的原型,新探测器将使用其withHandler
方法设置内部处理程序。原型的原始事件处理程序将被忽略并且永远不会被调用。
如果触发器用于基于场的传播
,则探测器将自动转换为字段等效探测器。但请注意,转换后的传播器的eventOccurred
将调用原型探测器中同名方法,以获取正确的返回值。
prototypeFiringIntervalDetector
- 触发间隔的原型探测器
public T getFiringIntervalDetector()
protected boolean isFiringOnInitialState(SpacecraftState initialState, boolean isForward)
isFiringOnInitialState
在类 AbstractManeuverTriggers
中
initialState
- 初始航天器状态
isForward
- 如果为true,则传播将向前进行
public Stream<EventDetector> getEventDetectors()
此方法不应该被多次调用,只能由传播器调用一次,因为调用此方法会具有重新构建事件探测器的副作用
public <S extends org.hipparchus.CalculusFieldElement<S>> Stream<FieldEventDetector<S>> getFieldEventDetectors(org.hipparchus.Field<S> field)
此方法不应该被多次调用,只能由传播器调用一次,因为调用此方法会具有重新构建事件探测器的副作用
S
- 扩展CalculusFieldElement<T>
field
- 状态所属的字段
protected abstract <D extends FieldAbstractDetector<D,S>,S extends org.hipparchus.CalculusFieldElement<S>> FieldAbstractDetector<D,S> convertIntervalDetector(org.hipparchus.Field<S> field, T detector)
在转换后的探测器中不需要设置withMaxCheck
、withThreshold
或withHandler
,这将由调用者完成。
将某些XyzDetector
转换为FieldXyzDetector
的此方法的骨架实现,考虑到这些探测器是从日期和数字参数创建的:
protected <D extends FieldEventDetector<S>, S extends CalculusFieldElement<S>>
FieldAbstractDetector<D, S> convertIntervalDetector(final Field<S> field, final XyzDetector detector) {
final FieldAbsoluteDate<S> date = new FieldAbsoluteDate<>(field, detector.getDate());
final S param = field.getZero().newInstance(detector.getParam());
final FieldAbstractDetector<D, S> converted = (FieldAbstractDetector<D, S>) new FieldXyzDetector<>(date, param);
return converted;
}
D
- 事件探测器的类型
S
- 字段元素的类型
field
- 状态所属的字段
detector
- 要转换的原始触发间隔探测器
Copyright © 2002-2023 CS GROUP. All rights reserved.