Class AbstractManeuverTriggers
java.lang.Object
org.orekit.forces.maneuvers.trigger.AbstractManeuverTriggers
- All Implemented Interfaces:
ManeuverTriggers,ResettableManeuverTriggers,EventDetectorsProvider,ParameterDriversProvider
- Direct Known Subclasses:
IntervalEventTrigger,StartStopEventsTrigger
Base class for triggers.
- Since:
- 11.1
- Author:
- Luc Maisonobe
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classLocal abstract handler for triggers, with a cache for the reset.protected classLocal abstract handler for triggers, with a cache for the reset. -
Field Summary
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T extends CalculusFieldElement<T>>
voidaddResetter(Field<T> field, FieldManeuverTriggersResetter<T> resetter) Add a resetter.voidaddResetter(ManeuverTriggersResetter resetter) Add a resetter.protected <T extends CalculusFieldElement<T>>
FieldSpacecraftState<T> applyResetters(FieldSpacecraftState<T> state) Apply resetters.protected SpacecraftStateapplyResetters(SpacecraftState state) Apply resetters.protected <T extends CalculusFieldElement<T>>
FieldEventDetector<T> convertDetector(Field<T> field, EventDetector detector) Attempts to create a working Fielded detector from a standard one.Get the firings detected during last propagation.<T extends CalculusFieldElement<T>>
voidinit(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialization method called at propagation start.voidinit(SpacecraftState initialState, AbsoluteDate target) Initialization method called at propagation start.protected <T extends CalculusFieldElement<T>>
voidinitializeResetters(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialize resetters.protected voidinitializeResetters(SpacecraftState initialState, AbsoluteDate target) Initialize resetters.booleanisFiring(AbsoluteDate date, double[] parameters) Find out if the maneuver is firing or not.<S extends CalculusFieldElement<S>>
booleanisFiring(FieldAbsoluteDate<S> date, S[] parameters) Find out if the maneuver is firing or not.protected abstract booleanisFiringOnInitialState(SpacecraftState initialState, boolean isForward) Method to check if the thruster is firing on initialization. can be called by sub classesprotected <T extends CalculusFieldElement<T>>
voidnotifyResetters(FieldSpacecraftState<T> state, boolean start) Notify resetters.protected voidnotifyResetters(SpacecraftState state, boolean start) Notify resetters.Methods 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
getEventDetectors, getFieldEventDetectors, getName, getParametersDriversMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
AbstractManeuverTriggers
protected AbstractManeuverTriggers()Simple constructor.
-
-
Method Details
-
init
Initialization method called at propagation start.The default implementation does nothing.
- Specified by:
initin interfaceManeuverTriggers- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().
-
init
public <T extends CalculusFieldElement<T>> void init(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialization method called at propagation start.The default implementation does nothing.
- Specified by:
initin interfaceManeuverTriggers- Type Parameters:
T- type of the elements- Parameters:
initialState- initial spacecraft state (at the start of propagation).target- date of propagation. Not equal toinitialState.getDate().
-
isFiringOnInitialState
Method to check if the thruster is firing on initialization. can be called by sub classes- Parameters:
initialState- initial spacecraft stateisForward- if true, propagation will be in the forward direction- Returns:
- true if firing in propagation direction
-
isFiring
Find out if the maneuver is firing or not.- Specified by:
isFiringin interfaceManeuverTriggers- Parameters:
date- current dateparameters- maneuver triggers parameters- Returns:
- true if the maneuver is firing, false otherwise
-
isFiring
public <S extends CalculusFieldElement<S>> boolean isFiring(FieldAbsoluteDate<S> date, S[] parameters) Find out if the maneuver is firing or not.- Specified by:
isFiringin interfaceManeuverTriggers- Type Parameters:
S- type of the field elements- Parameters:
date- current dateparameters- maneuver triggers parameters- Returns:
- true if the maneuver is firing, false otherwise
-
getFirings
Get the firings detected during last propagation.- Returns:
- firings detected during last propagation
-
addResetter
Add a resetter.- Specified by:
addResetterin interfaceResettableManeuverTriggers- Parameters:
resetter- resetter to add
-
addResetter
public <T extends CalculusFieldElement<T>> void addResetter(Field<T> field, FieldManeuverTriggersResetter<T> resetter) Add a resetter.- Specified by:
addResetterin interfaceResettableManeuverTriggers- Type Parameters:
T- type of the field elements- Parameters:
field- field to which the state belongsresetter- resetter to add
-
initializeResetters
Initialize resetters.- Parameters:
initialState- initial statetarget- target date for the propagation
-
notifyResetters
Notify resetters.- Parameters:
state- spacecraft state at trigger date (before applying the maneuver)start- if true, the trigger is the start of the maneuver
-
applyResetters
Apply resetters.- Parameters:
state- spacecraft state at trigger date- Returns:
- reset state
-
initializeResetters
protected <T extends CalculusFieldElement<T>> void initializeResetters(FieldSpacecraftState<T> initialState, FieldAbsoluteDate<T> target) Initialize resetters.- Type Parameters:
T- type of the field elements- Parameters:
initialState- initial statetarget- target date for the propagation
-
notifyResetters
protected <T extends CalculusFieldElement<T>> void notifyResetters(FieldSpacecraftState<T> state, boolean start) Notify resetters.- Type Parameters:
T- type of the field elements- Parameters:
state- spacecraft state at trigger date (before applying the maneuver)start- if true, the trigger is the start of the maneuver
-
applyResetters
protected <T extends CalculusFieldElement<T>> FieldSpacecraftState<T> applyResetters(FieldSpacecraftState<T> state) Apply resetters.- Type Parameters:
T- type of the field elements- Parameters:
state- spacecraft state at trigger date- Returns:
- reset state
-
convertDetector
protected <T extends CalculusFieldElement<T>> FieldEventDetector<T> convertDetector(Field<T> field, EventDetector detector) Attempts to create a working Fielded detector from a standard one.- Type Parameters:
T- field type- Parameters:
field- fielddetector- non-Field detector- Returns:
- Field detector
- Since:
- 14.0
-