public class LatitudeDetector extends AbstractDetector
The default implementation behavior is to stop
propagation when the expected
latitude is reached. This can be changed by overriding one of the following constructors :
LatitudeDetector
: the defined action is performed at latitude detection depending on slope type defined.
LatitudeDetector
: the defined actions are performed for local increasing AND decreasing latitude.
EventDetector
,
Serialized FormEventDetector.Action
Modifier and Type | Field and Description |
---|---|
static int |
DOWN
Flag for local decreasing latitude detection (g decreasing).
|
static int |
UP
Flag for local increasing latitude detection (g increasing).
|
static int |
UP_DOWN
Flag for both local increasing and decreasing latitude detection.
|
DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
DECREASING, INCREASING, INCREASING_DECREASING
Constructor and Description |
---|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
double maxCheck,
double threshold,
EventDetector.Action increasing,
EventDetector.Action decreasing)
Constructor for the latitude detector for both local increasing and decreasing latitude.
|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
double maxCheck,
double threshold,
EventDetector.Action increasing,
EventDetector.Action decreasing,
boolean removeIncreasing,
boolean removeDecreasing)
Constructor for the latitude detector for both local increasing and decreasing latitude.
|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
int slopeType)
Constructor for the latitude detector.
|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
int slopeType,
double maxCheck,
double threshold)
Constructor for the latitude detector.
|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
int slopeType,
double maxCheck,
double threshold,
EventDetector.Action action)
Constructor for the latitude detector.
|
LatitudeDetector(double latitudeToDetect,
BodyShape earth,
int slopeType,
double maxCheck,
double threshold,
EventDetector.Action action,
boolean remove)
Constructor for the latitude detector.
|
Modifier and Type | Method and Description |
---|---|
EventDetector |
copy()
A copy of the detector.
|
EventDetector.Action |
eventOccurred(SpacecraftState s,
boolean increasing,
boolean forward)
Handle a latitude reaching event and choose what to do next.
|
double |
g(SpacecraftState s)
Compute the value of the switching function.
|
BodyShape |
getEarthShape()
Returns the Earth shape.
|
double |
getLatitudeToDetect()
Returns the latitude to detect.
|
void |
init(SpacecraftState s0,
AbsoluteDate t)
Initialize event handler at the start of a propagation.
|
boolean |
shouldBeRemoved()
This method is called after
EventDetector.eventOccurred(fr.cnes.sirius.patrius.propagation.SpacecraftState, boolean, boolean) has been triggered. |
getMaxCheckInterval, getMaxIterationCount, getSlopeSelection, getThreshold, resetState
public static final int UP
public static final int DOWN
public static final int UP_DOWN
public LatitudeDetector(double latitudeToDetect, BodyShape earth, int slopeType)
The default implementation behavior is to stop
propagation when the expected
latitude is reached.
public LatitudeDetector(double latitudeToDetect, BodyShape earth, int slopeType, double maxCheck, double threshold)
The default implementation behavior is to stop
propagation when the expected
latitude is reached.
latitudeToDetect
- the latitude to detect (must be between -PI/2 and PI/2)earth
- the earth shapeslopeType
- UP
for increasing latitude detection, DOWN
for
decreasing latitude detection or UP_DOWN
for both increasing and decreasing
latitude detectionmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)public LatitudeDetector(double latitudeToDetect, BodyShape earth, double maxCheck, double threshold, EventDetector.Action increasing, EventDetector.Action decreasing)
latitudeToDetect
- the latitude to detect (must be between -PI/2 and PI/2)earth
- the earth shapemaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)increasing
- action performed at latitude detection when increasingdecreasing
- action performed at latitude detection when decreasingpublic LatitudeDetector(double latitudeToDetect, BodyShape earth, double maxCheck, double threshold, EventDetector.Action increasing, EventDetector.Action decreasing, boolean removeIncreasing, boolean removeDecreasing)
latitudeToDetect
- the latitude to detect (must be between -PI/2 and PI/2)earth
- the earth shapemaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)increasing
- action performed at latitude detection when increasingdecreasing
- action performed at latitude detection when decreasingremoveIncreasing
- true if detector should be removed at latitude detection when
increasingremoveDecreasing
- true if detector should be removed at latitude detection when
decreasingpublic LatitudeDetector(double latitudeToDetect, BodyShape earth, int slopeType, double maxCheck, double threshold, EventDetector.Action action)
latitudeToDetect
- the latitude to detect (must be between -PI/2 and PI/2)earth
- the earth shapeslopeType
- UP
for increasing latitude detection, DOWN
for
decreasing latitude detection or UP_DOWN
for both increasing and decreasing
latitude detectionmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)action
- action performed at latitude detectionpublic LatitudeDetector(double latitudeToDetect, BodyShape earth, int slopeType, double maxCheck, double threshold, EventDetector.Action action, boolean remove)
latitudeToDetect
- the latitude to detect (must be between -PI/2 and PI/2)earth
- the earth shapeslopeType
- UP
for increasing latitude detection, DOWN
for
decreasing latitude detection or UP_DOWN
for both increasing and decreasing
latitude detectionmaxCheck
- maximum check (see AbstractDetector
)threshold
- threshold (see AbstractDetector
)action
- action performed at latitude detectionremove
- true if detector should be removed at latitude detection
NB : If remove is true, it means detector should be removed at detection, so the value
of attributes removeAtIncreasing and removeAtDecreasing must be decided according
slopeType. Doing it, we ensure that detector will be removed well at propagation when
calling method eventOccured (in which the value of attribute shouldBeRemoved is
decided). In this case, users should better create an LatitudeDetector with
constructor
LatitudeDetector(double, BodyShape, double, double, EventDetector.Action, EventDetector.Action, boolean, boolean)
public void init(SpacecraftState s0, AbsoluteDate t)
This method is called once at the start of the propagation. It may be used by the event handler to initialize some internal data if needed.
init
in interface EventDetector
init
in class AbstractDetector
s0
- initial statet
- target time for the integrationpublic EventDetector.Action eventOccurred(SpacecraftState s, boolean increasing, boolean forward) throws PatriusException
The default implementation behavior is to stop
propagation when the expected
latitude is reached.
eventOccurred
in interface EventDetector
eventOccurred
in class AbstractDetector
s
- the current state information : date, kinematics, attitudeincreasing
- if true, the value of the switching function increases when times increases
around eventforward
- if true, the integration variable (time) increases during integration.PatriusException
- if some specific error occurspublic boolean shouldBeRemoved()
EventDetector.eventOccurred(fr.cnes.sirius.patrius.propagation.SpacecraftState, boolean, boolean)
has been triggered. It returns true if the
current detector should be removed after first event detection. WARNING: this method
can be called only once a event has been triggered. Before, the value is not available.shouldBeRemoved
in interface EventDetector
shouldBeRemoved
in class AbstractDetector
public double g(SpacecraftState s) throws PatriusException
g
in interface EventDetector
g
in class AbstractDetector
s
- the current state information: date, kinematics, attitude for forces and events
computation, mass provider, and additional statesPatriusException
- if some specific error occurspublic double getLatitudeToDetect()
public BodyShape getEarthShape()
public EventDetector copy()
The following attributes are not deeply copied:
BodyShape
Copyright © 2019 CNES. All rights reserved.