T
- type of the field elements
public class FieldBooleanDetector<T extends org.hipparchus.CalculusFieldElement<T>> extends FieldAbstractDetector<FieldBooleanDetector<T>,T>
对于成像卫星的一个示例可能是仅在卫星位于正上方(仰角> 0)且地面点被阳光照射(太阳仰角> 0)时检测事件。另一个稍微牵强的使用OR运算符的示例可能是检测对一组地面站的访问,并且仅在卫星进入或离开该组地面站的视场时报告事件,而不是地面站之间的切换。
对于FieldBooleanDetector,重要的是底层事件检测器的g函数的符号不是任意的,而是具有语义含义,例如进入或退出,true或false。此类与检测器一起很好地工作,这些检测器检测进入或退出区域,例如FieldEclipseDetector
,FieldElevationDetector
,FieldLatitudeCrossingDetector
。将此检测器与不基于进入或退出区域的检测器一起使用,例如FieldDateDetector
,可能会导致意外结果。要对后一种类型的事件检测器应用条件,通常更适合使用FieldEventEnablingPredicateFilter
。
andCombine(Collection)
, orCombine(Collection)
, notCombine(FieldEventDetector)
, EventEnablingPredicateFilter
, EventSlopeFilter
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
FieldBooleanDetector(List<FieldEventDetector<T>> detectors, org.orekit.propagation.events.FieldBooleanDetector.Operator operator, FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
具有所有参数的私有构造函数。
|
Modifier and Type | Method and Description |
---|---|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
andCombine(Collection<? extends FieldEventDetector<T>> detectors)
创建一个新的事件检测器,它是给定事件检测器的逻辑AND。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
andCombine(FieldEventDetector<T>... detectors)
创建一个新的事件检测器,它是给定事件检测器的逻辑AND。
|
protected FieldBooleanDetector<T> |
create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
构建一个新实例。
|
T |
g(FieldSpacecraftState<T> s)
计算切换函数的值。
|
List<FieldEventDetector<T>> |
getDetectors()
获取原始检测器的列表。
|
void |
init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
在传播开始时初始化事件处理程序。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
notCombine(FieldEventDetector<T> detector)
创建一个否定另一个检测器的g函数的新事件检测器。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
orCombine(Collection<? extends FieldEventDetector<T>> detectors)
创建一个新的事件检测器,它是给定事件检测器的逻辑OR。
|
static <T extends org.hipparchus.CalculusFieldElement<T>> |
orCombine(FieldEventDetector<T>... detectors)
创建一个新的事件检测器,它是给定事件检测器的逻辑OR。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
protected FieldBooleanDetector(List<FieldEventDetector<T>> detectors, org.orekit.propagation.events.FieldBooleanDetector.Operator operator, FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
detectors
- 操作数。
operator
- 应用于操作数的g函数值的约简运算符。
newMaxCheck
- 最大检查间隔。
newThreshold
- 收敛阈值(以秒为单位)。
newMaxIter
- 最大迭代次数。
newHandler
- 事件处理程序。
@SafeVarargs public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldBooleanDetector<T> andCombine(FieldEventDetector<T>... detectors)
如果detectors
中所有检测器的g函数都为正,则创建的事件检测器的g函数才为正。
起始间隔、阈值和迭代计数设置为所有detectors
中最严格(最小)的值。不使用底层detectors
的事件处理程序,而是默认处理程序为FieldContinueOnEvent
。
T
- 字段元素的类型
detectors
- 操作数。必须至少包含一个检测器。
NoSuchElementException
- 如果detectors
为空。
FieldBooleanDetector
,andCombine(Collection)
,orCombine(FieldEventDetector...)
,notCombine(FieldEventDetector)
public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldBooleanDetector<T> andCombine(Collection<? extends FieldEventDetector<T>> detectors)
如果detectors
中所有检测器的g函数都为正,则创建的事件检测器的g函数才为正。
起始间隔、阈值和迭代计数设置为detectors
的最严格(最小)值。不使用底层detectors
的事件处理程序,而是默认处理程序为FieldContinueOnEvent
。
T
- 字段元素的类型
detectors
- 操作数。必须至少包含一个检测器。
NoSuchElementException
- 如果detectors
为空。
FieldBooleanDetector
,andCombine(FieldEventDetector...)
,orCombine(Collection)
,notCombine(FieldEventDetector)
@SafeVarargs public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldBooleanDetector<T> orCombine(FieldEventDetector<T>... detectors)
如果detectors
中至少一个事件检测器的g函数为正,则创建的事件检测器的g函数为正。
起始间隔、阈值和迭代计数设置为detectors
的最严格(最小)值。不使用底层EventDetectors的事件处理程序,而是默认处理程序为FieldContinueOnEvent
。
T
- 字段元素的类型
detectors
- 操作数。必须至少包含一个检测器。
NoSuchElementException
- 如果detectors
为空。
FieldBooleanDetector
,orCombine(Collection)
,andCombine(FieldEventDetector...)
,notCombine(FieldEventDetector)
public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldBooleanDetector<T> orCombine(Collection<? extends FieldEventDetector<T>> detectors)
如果detectors
中至少一个事件检测器的g函数为正,则创建的事件检测器的g函数为正。
起始间隔、阈值和迭代计数设置为detectors
的最严格(最小)值。不使用底层EventDetectors的事件处理程序,而是默认处理程序为FieldContinueOnEvent
。
T
- 字段元素的类型
detectors
- 操作数。必须至少包含一个探测器。
NoSuchElementException
- 如果detectors
为空。
FieldBooleanDetector
, orCombine(FieldEventDetector...)
, andCombine(Collection)
, notCombine(FieldEventDetector)
public static <T extends org.hipparchus.CalculusFieldElement<T>> FieldNegateDetector<T> notCombine(FieldEventDetector<T> detector)
此探测器将使用与detector
相同的FieldEventDetector.getMaxCheckInterval()
、FieldEventDetector.getThreshold()
和FieldEventDetector.getMaxIterationCount()
进行初始化。底层探测器的事件处理程序不会被使用,而是使用默认处理程序FieldContinueOnEvent
。
T
- 字段元素的类型
detector
- 要取反的探测器。
detector
。
andCombine(Collection)
, orCombine(Collection)
, FieldBooleanDetector
public T g(FieldSpacecraftState<T> s)
FieldAbstractDetector
g
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
g
在类 FieldAbstractDetector<FieldBooleanDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
s
- 当前状态信息:日期、运动学、姿态
protected FieldBooleanDetector<T> create(FieldAdaptableInterval<T> newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<T> newHandler)
FieldAbstractDetector
create
在类 FieldAbstractDetector<FieldBooleanDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
newMaxCheck
- 最大检查间隔
newThreshold
- 收敛阈值(s)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 事件发生时要调用的事件处理程序
public void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t)
FieldAbstractDetector
此方法在传播开始时调用一次。如果需要,事件处理程序可以用于初始化一些内部数据。
默认实现不执行任何操作
init
在接口 FieldEventDetector<T extends org.hipparchus.CalculusFieldElement<T>>
init
在类 FieldAbstractDetector<FieldBooleanDetector<T extends org.hipparchus.CalculusFieldElement<T>>,T extends org.hipparchus.CalculusFieldElement<T>>
s0
- 初始状态
t
- 集成的目标时间
public List<FieldEventDetector<T>> getDetectors()
Copyright © 2002-2023 CS GROUP. All rights reserved.