public class FieldAltitudeDetector<T extends CalculusFieldElement<T>> extends FieldAbstractDetector<FieldAltitudeDetector<T>,T>
This class finds altitude events (i.e. satellite crossing a predefined altitude level above ground).
The default implementation behavior is to continue
propagation when ascending and to stop
propagation when descending. This can be changed by calling
FieldAbstractDetector.withHandler(FieldEventHandler)
after construction.
FieldPropagator.addEventDetector(FieldEventDetector)
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
FieldAltitudeDetector(T altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
FieldAltitudeDetector(T maxCheck,
T altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
FieldAltitudeDetector(T maxCheck,
T threshold,
T altitude,
BodyShape bodyShape)
Build a new altitude detector.
|
Modifier and Type | Method and Description |
---|---|
protected FieldAltitudeDetector<T> |
create(T newMaxCheck,
T newThreshold,
int newMaxIter,
FieldEventHandler<? super FieldAltitudeDetector<T>,T> newHandler)
Build a new instance.
|
T |
g(FieldSpacecraftState<T> s)
Compute the value of the switching function.
|
T |
getAltitude()
Get the threshold altitude value.
|
BodyShape |
getBodyShape()
Get the body shape.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public FieldAltitudeDetector(T altitude, BodyShape bodyShape)
This simple constructor takes default values for maximal checking
interval (FieldAbstractDetector.DEFAULT_MAXCHECK
) and convergence threshold
(FieldAbstractDetector.DEFAULT_THRESHOLD
).
altitude
- threshold altitude valuebodyShape
- body shape with respect to which altitude should be evaluatedpublic FieldAltitudeDetector(T maxCheck, T altitude, BodyShape bodyShape)
This simple constructor takes default value for convergence threshold
(FieldAbstractDetector.DEFAULT_THRESHOLD
).
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
maxCheck
- maximal checking interval (s)altitude
- threshold altitude value (m)bodyShape
- body shape with respect to which altitude should be evaluatedpublic FieldAltitudeDetector(T maxCheck, T threshold, T altitude, BodyShape bodyShape)
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
The maximal interval between altitude checks should be smaller than the half duration of the minimal pass to handle, otherwise some short passes could be missed.
maxCheck
- maximal checking interval (s)threshold
- convergence threshold (s)altitude
- threshold altitude value (m)bodyShape
- body shape with respect to which altitude should be evaluatedprotected FieldAltitudeDetector<T> create(T newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<? super FieldAltitudeDetector<T>,T> newHandler)
create
in class FieldAbstractDetector<FieldAltitudeDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<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 T getAltitude()
public BodyShape getBodyShape()
public T g(FieldSpacecraftState<T> s)
g
in interface FieldEventDetector<T extends CalculusFieldElement<T>>
g
in class FieldAbstractDetector<FieldAltitudeDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>
s
- the current state information: date, kinematics, attitudeCopyright © 2002-2022 CS GROUP. All rights reserved.