fr.cnes.sirius.patrius.events.multi
Interface MultiCodingEventDetector

All Superinterfaces:
MultiEventDetector
All Known Implementing Classes:
MultiGenericCodingEventDetector

public interface MultiCodingEventDetector
extends MultiEventDetector

This class is copied from CodingEventDetector and adapted to multi propagation.

This interface represents a multi event detector that is able to build a CodedEvent object.

A MultiCodingEventDetector can be used during propagation when we want to log the occurred events.
These events are detected by the MultiEventDetector that has been specified when creating the MultiCodingEventDetector.

Since:
3.0
Version:
$Id: MultiCodingEventDetector.java 12752 2015-03-27 08:24:23Z maggiorani $
Author:
maggioranic
See Also:
MultiEventDetector

Field Summary
 
Fields inherited from interface org.orekit.propagation.events.multi.MultiEventDetector
DECREASING, INCREASING, INCREASING_DECREASING
 
Method Summary
 CodedEvent buildCodedEvent(Map<String,SpacecraftState> s, boolean increasing)
          Build a CodedEvent instance appropriate for the provided map of SpacecraftState.
 CodedEvent buildDelayedCodedEvent(Map<String,SpacecraftState> s, boolean increasing)
          Build a delayed CodedEvent instance appropriate for the provided map of SpacecraftState.
 CodedEvent buildOccurrenceCodedEvent(Map<String,SpacecraftState> s, boolean increasing)
          Build a CodedEvent instance appropriate for the provided map of SpacecraftState.
 String getEventType()
          Gets a code indicating the type of event we want to log: DELAY when a delay is associated to the logged events with respect to the detected events, N_OCCURRENCE when we want to log the nth occurrence of the detected events, STANDARD when no delays and no occurrence numbers are taken into consideration.
 String getPhenomenonCode()
          If the implementation supports a Phenomenon, provides a code for the phenomenon associated to the event.
 boolean positiveSignMeansActive()
          Get the sign of the g method that means "the phenomenon associated to the event is active".
This method has been implemented because of the inconsistency of the sign of the g functions in the MultiEventDetector classes in Patrius: for some events, g is positive when its associated phenomenon is active, and for others, g is positive when its phenomenon is not active.
WARNING : If Phenomena are not supported, the behavior of this method is undefined.
 
Methods inherited from interface org.orekit.propagation.events.multi.MultiEventDetector
eventOccurred, g, getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, init, resetStates, shouldBeRemoved
 

Method Detail

buildCodedEvent

CodedEvent buildCodedEvent(Map<String,SpacecraftState> s,
                           boolean increasing)
Build a CodedEvent instance appropriate for the provided map of SpacecraftState.

Parameters:
s - the current states information
increasing - if true, g function increases around event date.
Returns:
the CodedEvent

buildDelayedCodedEvent

CodedEvent buildDelayedCodedEvent(Map<String,SpacecraftState> s,
                                  boolean increasing)
Build a delayed CodedEvent instance appropriate for the provided map of SpacecraftState. This instance will have a delay with respect to the associated detected event.

Parameters:
s - the current states information
increasing - if true, g function increases around event date.
Returns:
the CodedEvent

buildOccurrenceCodedEvent

CodedEvent buildOccurrenceCodedEvent(Map<String,SpacecraftState> s,
                                     boolean increasing)
Build a CodedEvent instance appropriate for the provided map of SpacecraftState. This method will return an instance only if it is be the nth occurrence of the corresponding event, otherwise it will return null. A delay can be applied to the event.

Parameters:
s - the current states information
increasing - if true, g function increases around event date.
Returns:
the CodedEvent

getEventType

String getEventType()
Gets a code indicating the type of event we want to log: DELAY when a delay is associated to the logged events with respect to the detected events, N_OCCURRENCE when we want to log the nth occurrence of the detected events, STANDARD when no delays and no occurrence numbers are taken into consideration.

Returns:
the type of event to log

positiveSignMeansActive

boolean positiveSignMeansActive()
Get the sign of the g method that means "the phenomenon associated to the event is active".
This method has been implemented because of the inconsistency of the sign of the g functions in the MultiEventDetector classes in Patrius: for some events, g is positive when its associated phenomenon is active, and for others, g is positive when its phenomenon is not active.
WARNING : If Phenomena are not supported, the behavior of this method is undefined.

Returns:
true for positive, false for negative.

getPhenomenonCode

String getPhenomenonCode()
If the implementation supports a Phenomenon, provides a code for the phenomenon associated to the event. If not, returns null.

Returns:
either a code, or null if Phenomena are not supported.


Copyright © 2016 CNES. All Rights Reserved.