Class IntervalEventTrigger<T extends EventDetector>
- Type Parameters:
T- type of the interval detector
- All Implemented Interfaces:
ManeuverTriggers,ResettableManeuverTriggers,EventDetectorsProvider,ParameterDriversProvider
- Direct Known Subclasses:
DateBasedManeuverTriggers,TimeIntervalsManeuverTrigger
Firing intervals correspond to time spans with positive value of the event detector
g function.
- Since:
- 11.1
- Author:
- Luc Maisonobe
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.forces.maneuvers.trigger.AbstractManeuverTriggers
AbstractManeuverTriggers.FieldTriggerHandler<S extends CalculusFieldElement<S>>, AbstractManeuverTriggers.TriggerHandler -
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <S extends CalculusFieldElement<S>>
FieldEventDetector<S> convertIntervalDetector(Field<S> field, T detector) Convert a primitive firing intervals detector into a field firing intervals detector.Get the discrete events related to the model.<S extends CalculusFieldElement<S>>
Stream<FieldEventDetector<S>> getFieldEventDetectors(Field<S> field) Get the discrete events related to the model.Getter for the firing interval detector.<D extends CalculusFieldElement<D>>
voidinit(FieldSpacecraftState<D> initialState, FieldAbsoluteDate<D> target) Initialization method called at propagation start.voidinit(SpacecraftState initialState, AbsoluteDate target) Initialization method called at propagation start.protected booleanisFiringOnInitialState(SpacecraftState initialState, boolean isForward) Method to check if the thruster is firing on initialization. can be called by sub classesMethods inherited from class org.orekit.forces.maneuvers.trigger.AbstractManeuverTriggers
addResetter, addResetter, applyResetters, applyResetters, convertDetector, getFirings, initializeResetters, initializeResetters, isFiring, isFiring, notifyResetters, notifyResettersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectorsMethods inherited from interface org.orekit.forces.maneuvers.trigger.ManeuverTriggers
getName, getParametersDriversMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
IntervalEventTrigger
Simple constructor.Note that the
intervalDetectorpassed as an argument is used only as a prototype from which a new detector will be built usingManeuverTriggerDetector. The original event handler from the prototype will be ignored and never called.If the trigger is used in a
field-based propagation, the detector will be automatically converted to a field equivalent. Beware however that theeventOccurredof the converted propagator will call the method with the same name in the prototype detector, in order to get the correct return value.- Parameters:
prototypeFiringIntervalDetector- prototype detector for firing interval
-
-
Method Details
-
init
Initialization method called at propagation start.The default implementation does nothing.
- Specified by:
initin interfaceManeuverTriggers- Overrides:
initin classAbstractManeuverTriggers- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().
-
init
public <D extends CalculusFieldElement<D>> void init(FieldSpacecraftState<D> initialState, FieldAbsoluteDate<D> target) Initialization method called at propagation start.The default implementation does nothing.
- Specified by:
initin interfaceManeuverTriggers- Overrides:
initin classAbstractManeuverTriggers- Type Parameters:
D- type of the elements- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().
-
getFiringIntervalDetector
Getter for the firing interval detector.- Returns:
- firing interval detector
-
isFiringOnInitialState
Method to check if the thruster is firing on initialization. can be called by sub classes- Specified by:
isFiringOnInitialStatein classAbstractManeuverTriggers- Parameters:
initialState- initial spacecraft stateisForward- if true, propagation will be in the forward direction- Returns:
- true if firing in propagation direction
-
getEventDetectors
Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called
- Returns:
- stream of event detectors
-
getFieldEventDetectors
public <S extends CalculusFieldElement<S>> Stream<FieldEventDetector<S>> getFieldEventDetectors(Field<S> field) Get the discrete events related to the model.This method is not intended to be called several time, only once by a propagator, as it has the side effect of rebuilding the events detectors when called
- Type Parameters:
S- extends CalculusFieldElement<T>- Parameters:
field- field to which the state belongs- Returns:
- stream of event detectors
-
convertIntervalDetector
protected <S extends CalculusFieldElement<S>> FieldEventDetector<S> convertIntervalDetector(Field<S> field, T detector) Convert a primitive firing intervals detector into a field firing intervals detector.The
FieldEventDetectionSettingsmust be set up in conformance with the non-field detector.A default implementation is provided but might need to be overridden in specific cases.
- Type Parameters:
S- type of the field elements- Parameters:
field- field to which the state belongsdetector- primitive firing intervals detector to convert- Returns:
- converted firing intervals detector
-