FieldEventDetector<T>public class FieldNodeDetector<T extends RealFieldElement<T>> extends FieldAbstractDetector<FieldNodeDetector<T>,T>
This class finds equator crossing events (i.e. ascending or descending node crossing).
The default implementation behavior is to continue
propagation at descending node crossing and to stop propagation
at ascending node crossing. This can be changed by calling
FieldAbstractDetector.withHandler(FieldEventHandler) after construction.
Beware that node detection will fail for almost equatorial orbits. If
for example a node detector is used to trigger an ImpulseManeuver and the maneuver
turn the orbit plane to equator, then the detector may completely fail just
after the maneuver has been performed! This is a real case that has been
encountered during validation ...
FieldPropagator.addEventDetector(FieldEventDetector)DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD| Constructor | Description |
|---|---|
FieldNodeDetector(FieldOrbit<T> orbit,
Frame frame) |
Build a new instance.
|
FieldNodeDetector(T threshold,
FieldOrbit<T> orbit,
Frame frame) |
Build a new instance.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected FieldNodeDetector<T> |
create(T newMaxCheck,
T newThreshold,
int newMaxIter,
FieldEventHandler<? super FieldNodeDetector<T>,T> newHandler) |
Build a new instance.
|
T |
g(FieldSpacecraftState<T> s) |
Compute the value of the switching function.
|
Frame |
getFrame() |
Get the frame in which the equator is defined.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThresholdpublic FieldNodeDetector(FieldOrbit<T> orbit, Frame frame)
The orbit is used only to set an upper bound for the max check interval to period/3 and to set the convergence threshold according to orbit size.
public FieldNodeDetector(T threshold, FieldOrbit<T> orbit, Frame frame)
The orbit is used only to set an upper bound for the max check interval to period/3.
protected FieldNodeDetector<T> create(T newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<? super FieldNodeDetector<T>,T> newHandler)
create in class FieldAbstractDetector<FieldNodeDetector<T extends RealFieldElement<T>>,T extends RealFieldElement<T>>newMaxCheck - maximum checking interval (s)newThreshold - convergence threshold (s)newMaxIter - maximum number of iterations in the event time searchnewHandler - event handler to call at event occurrencespublic Frame getFrame()
public T g(FieldSpacecraftState<T> s) throws OrekitException
g in interface FieldEventDetector<T extends RealFieldElement<T>>g in class FieldAbstractDetector<FieldNodeDetector<T extends RealFieldElement<T>>,T extends RealFieldElement<T>>s - the current state information: date, kinematics, attitudeOrekitException - if some specific error occursCopyright © 2002-2018 CS Systèmes d'information. All rights reserved.