Package org.orekit.propagation.events
Class LongitudeRangeCrossingDetector
java.lang.Object
org.orekit.propagation.events.AbstractDetector<LongitudeRangeCrossingDetector>
org.orekit.propagation.events.AbstractGeographicalDetector<LongitudeRangeCrossingDetector>
org.orekit.propagation.events.LongitudeRangeCrossingDetector
- All Implemented Interfaces:
EventDetector
public class LongitudeRangeCrossingDetector
extends AbstractGeographicalDetector<LongitudeRangeCrossingDetector>
Detector for geographic longitude crossing.
This detector identifies when a spacecraft crosses a fixed longitude range with respect to a central body.
- Since:
- 12.0
- Author:
- Alberto Ferrero
-
Field Summary
Fields inherited from class org.orekit.propagation.events.AbstractDetector
DEFAULT_MAX_CHECK, DEFAULT_MAX_ITER, DEFAULT_THRESHOLD -
Constructor Summary
ConstructorsModifierConstructorDescriptionLongitudeRangeCrossingDetector(double maxCheck, double threshold, BodyShape body, double fromLongitude, double toLongitude) Build a detector.LongitudeRangeCrossingDetector(BodyShape body, double fromLongitude, double toLongitude) Build a new detector.protectedLongitudeRangeCrossingDetector(EventDetectionSettings detectionSettings, EventHandler handler, BodyShape body, double fromLongitude, double toLongitude) Private constructor with full parameters. -
Method Summary
Modifier and TypeMethodDescriptionprotected LongitudeRangeCrossingDetectorcreate(EventDetectionSettings detectionSettings, EventHandler newHandler) Build a new instance.doubleg(SpacecraftState s) Compute the value of the detection function.doubleGet the fixed longitude range to be crossed (radians), lower boundary.doubleGet the fixed longitude range to be crossed (radians), upper boundary.Methods inherited from class org.orekit.propagation.events.AbstractGeographicalDetector
getBodyShapeMethods inherited from class org.orekit.propagation.events.AbstractDetector
checkIfForward, getDetectionSettings, getEventFunction, getHandler, init, isForward, withDetectionSettings, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThresholdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.events.EventDetector
finish, getMaxCheckInterval, getMaxIterationCount, getThreshold, reset
-
Constructor Details
-
LongitudeRangeCrossingDetector
Build a new detector.The new instance uses default values for maximal checking interval (
AbstractDetector.DEFAULT_MAX_CHECK) and convergence threshold (AbstractDetector.DEFAULT_THRESHOLD).- Parameters:
body- body on which the longitude is definedfromLongitude- longitude to be crossed, lower range boundarytoLongitude- longitude to be crossed, upper range boundary
-
LongitudeRangeCrossingDetector
public LongitudeRangeCrossingDetector(double maxCheck, double threshold, BodyShape body, double fromLongitude, double toLongitude) Build a detector.- Parameters:
maxCheck- maximal checking interval (s)threshold- convergence threshold (s)body- body on which the longitude is definedfromLongitude- longitude to be crossed, lower range boundarytoLongitude- longitude to be crossed, upper range boundary
-
LongitudeRangeCrossingDetector
protected LongitudeRangeCrossingDetector(EventDetectionSettings detectionSettings, EventHandler handler, BodyShape body, double fromLongitude, double toLongitude) Private constructor with full parameters.This constructor is private as users are expected to use the builder API with the various
withXxx()methods to set up the instance in a readable manner without using a huge amount of parameters.- Parameters:
detectionSettings- event detection settingshandler- event handler to call at event occurrencesbody- body on which the longitude is definedfromLongitude- longitude to be crossed, lower range boundarytoLongitude- longitude to be crossed, upper range boundary- Since:
- 13.0
-
-
Method Details
-
create
protected LongitudeRangeCrossingDetector create(EventDetectionSettings detectionSettings, EventHandler newHandler) Build a new instance.- Specified by:
createin classAbstractDetector<LongitudeRangeCrossingDetector>- Parameters:
detectionSettings- detection settingsnewHandler- event handler to call at event occurrences- Returns:
- a new instance of the appropriate sub-type
-
getFromLongitude
public double getFromLongitude()Get the fixed longitude range to be crossed (radians), lower boundary.- Returns:
- fixed lower boundary longitude range to be crossed (radians)
-
getToLongitude
public double getToLongitude()Get the fixed longitude range to be crossed (radians), upper boundary.- Returns:
- fixed upper boundary longitude range to be crossed (radians)
-
g
Compute the value of the detection function.The value is positive if the spacecraft longitude is inside the longitude range. The longitude value is reflected from [-PI, +PI] to [0, 2 PI] to ensure continuity.
- Parameters:
s- the current state information: date, kinematics, attitude- Returns:
- positive if spacecraft inside the range
-