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.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)
AbstractDetector
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
AbstractDetector
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()
Copyright © 2017 CNES. All rights reserved.