T
- type of the field elements
public class FieldEventsLogger<T extends org.hipparchus.CalculusFieldElement<T>> extends Object
由于在轨道传播期间会触发事件探测器
,因此会调用特定的eventOccurred
方法。此类可用于添加全局日志记录功能,按照时间顺序(或反向时间顺序,如果传播是向后的)注册所有事件及其对应的状态。
此类通过在将事件探测器注册到传播器之前包装用户提供的事件探测器
来工作。包装器监视对eventOccurred
的调用,并将相应的事件存储为FieldEventsLogger.FieldLoggedEvent
实例。传播完成后,用户可以通过调用方法getLoggedEvents()
一次性检索所有已发生的事件。
Modifier and Type | Class and Description |
---|---|
static class |
FieldEventsLogger.FieldLoggedEvent<T extends org.hipparchus.CalculusFieldElement<T>>
记录事件条目的类。
|
Constructor and Description |
---|
FieldEventsLogger()
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
clearLoggedEvents()
清除已记录的事件。
|
List<FieldEventsLogger.FieldLoggedEvent<T>> |
getLoggedEvents()
获取已记录事件的不可变副本。
|
FieldAbstractDetector<org.orekit.propagation.events.FieldEventsLogger.FieldLoggingWrapper,T> |
monitorDetector(FieldEventDetector<T> monitoredDetector)
监视事件探测器。
|
public FieldAbstractDetector<org.orekit.propagation.events.FieldEventsLogger.FieldLoggingWrapper,T> monitorDetector(FieldEventDetector<T> monitoredDetector)
为了监视事件探测器,必须通过此方法将其包装如下:
Propagator propagator = new XyzPropagator(...); EventsLogger logger = new EventsLogger(); FieldEventDetector<T> detector = new UvwDetector(...); propagator.addEventDetector(logger.monitorDetector(detector));
请注意,由getEventDetector
方法返回的事件记录实例中返回的事件探测器是monitoredDetector
实例本身,而不是此方法返回的包装探测器。
monitoredDetector
- 要监视的事件探测器
public void clearLoggedEvents()
public List<FieldEventsLogger.FieldLoggedEvent<T>> getLoggedEvents()
该副本与日志记录器无关。即使调用clearLoggedEvents
方法并将日志记录器重新用于另一次传播,副本也会保留。
Copyright © 2002-2023 CS GROUP. All rights reserved.