Class EventsLogger
- java.lang.Object
-
- org.orekit.propagation.events.EventsLogger
-
public class EventsLogger extends Object
This class logs events detectors events during propagation.As
events detectorsare triggered during orbit propagation, an event specificeventOccurredmethod is called. This class can be used to add a global logging feature registering all events with their corresponding states in a chronological sequence (or reverse-chronological if propagation occurs backward).This class works by wrapping user-provided
events detectorsbefore they are registered to the propagator. The wrapper monitor the calls toeventOccurredand store the corresponding events asEventsLogger.LoggedEventinstances. After propagation is complete, the user can retrieve all the events that have occurred at once by calling methodgetLoggedEvents().- Author:
- Luc Maisonobe
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEventsLogger.LoggedEventClass for logged events entries.
-
Constructor Summary
Constructors Constructor Description EventsLogger()Simple constructor.EventsLogger(boolean logResetStates, List<EventsLogger.LoggedEvent> inputLog)Constructor from existing log with flag to keep reset states.EventsLogger(List<EventsLogger.LoggedEvent> inputLog)Constructor from existing log.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearLoggedEvents()Clear the logged events.List<EventsLogger.LoggedEvent>getLoggedEvents()Get an immutable copy of the logged events.<T extends EventDetector>
EventDetectormonitorDetector(T monitoredDetector)Monitor an event detector.
-
-
-
Constructor Detail
-
EventsLogger
public EventsLogger(boolean logResetStates, List<EventsLogger.LoggedEvent> inputLog)Constructor from existing log with flag to keep reset states.- Parameters:
logResetStates- flag to turn on the storage of reset states (if false, getter in event is set to null)inputLog- log to be kept at startBuild an non-empty logger for events detectors.
- Since:
- 14.0
-
EventsLogger
public EventsLogger(List<EventsLogger.LoggedEvent> inputLog)
Constructor from existing log.- Parameters:
inputLog- log to be kept at startBuild an non-empty logger for events detectors.
- Since:
- 14.0
-
EventsLogger
public EventsLogger()
Simple constructor.Build an empty logger for events detectors.
-
-
Method Detail
-
monitorDetector
public <T extends EventDetector> EventDetector monitorDetector(T monitoredDetector)
Monitor an event detector.In order to monitor an event detector, it must be wrapped thanks to this method as follows:
Propagator propagator = new XyzPropagator(...); EventsLogger logger = new EventsLogger(); EventDetector detector = new UvwDetector(...); propagator.addEventDetector(logger.monitorDetector(detector));
Note that the event detector returned by the
getEventDetectormethod inLoggedEventinstances returned bygetLoggedEvents()are themonitoredDetectorinstances themselves, not the wrapping detector returned by this method.- Type Parameters:
T- class type for the generic version- Parameters:
monitoredDetector- event detector to monitor- Returns:
- the wrapping detector to add to the propagator
-
clearLoggedEvents
public void clearLoggedEvents()
Clear the logged events.
-
getLoggedEvents
public List<EventsLogger.LoggedEvent> getLoggedEvents()
Get an immutable copy of the logged events.The copy is independent of the logger. It is preserved event if the
clearLoggedEventsmethod is called and the logger reused in another propagation.- Returns:
- an immutable copy of the logged events
-
-