public class ApsideDetector extends AbstractDetector<ApsideDetector>
This class finds apside crossing events (i.e. apogee or perigee crossing).
The default implementation behavior is to continue
propagation at apogee crossing and to stop
propagation
at perigee crossing. This can be changed by calling
AbstractDetector.withHandler(EventHandler)
after construction.
Beware that apside detection will fail for almost circular orbits. If
for example an apside detector is used to trigger an ImpulseManeuver
and the maneuver
change the orbit shape to circular, then the detector may completely fail just
after the maneuver has been performed!
Propagator.addEventDetector(EventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
ApsideDetector(double threshold,
Orbit orbit)
Build a new instance.
|
ApsideDetector(Orbit orbit)
Build a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected ApsideDetector |
create(double newMaxCheck,
double newThreshold,
int newMaxIter,
EventHandler<? super ApsideDetector> newHandler)
Build a new instance.
|
double |
g(SpacecraftState s)
Compute the value of the switching function.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public ApsideDetector(Orbit orbit)
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
orbit
- initial orbitpublic ApsideDetector(double threshold, Orbit orbit)
The orbit is used only to set an upper bound for the max check interval to period/3
threshold
- convergence threshold (s)orbit
- initial orbitprotected ApsideDetector create(double newMaxCheck, double newThreshold, int newMaxIter, EventHandler<? super ApsideDetector> newHandler)
create
in class AbstractDetector<ApsideDetector>
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 double g(SpacecraftState s)
g
in interface EventDetector
g
in class AbstractDetector<ApsideDetector>
s
- the current state information: date, kinematics, attitudeCopyright © 2002-2020 CS Group. All rights reserved.