Class EventBasedScheduler<T extends ObservedMeasurement<T>>
- java.lang.Object
-
- org.orekit.estimation.measurements.generation.AbstractScheduler<T>
-
- org.orekit.estimation.measurements.generation.EventBasedScheduler<T>
-
- Type Parameters:
T
- the type of the measurement
- All Implemented Interfaces:
Scheduler<T>
public class EventBasedScheduler<T extends ObservedMeasurement<T>> extends AbstractScheduler<T>
Scheduler
based onEventDetector
for generating measurements sequences.Event-based schedulers generate measurements following a repetitive pattern when the a
detector
provided at construction is in ameasurement feasible
state. It is important that the sign of the g function of the underlying event detector is not arbitrary, but has a semantic meaning, e.g. in or out, true or false. This class works well with event detectors that detect entry to or exit from a region, e.g.EclipseDetector
,ElevationDetector
,LatitudeCrossingDetector
. Using this scheduler with detectors that are not based on entry to or exit from a region, e.g.DateDetector
,LongitudeCrossingDetector
, will likely lead to unexpected results.The repetitive pattern can be either a continuous stream of measurements separated by a constant step (for example one measurement every 60s), or several sequences of measurements at high rate up to a maximum number, with a rest period between sequences (for example sequences of up to 256 measurements every 100ms with 300s between each sequence).
- Since:
- 9.3
- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Constructor Description EventBasedScheduler(MeasurementBuilder<T> builder, DatesSelector selector, Predicate<EstimatedMeasurementBase<T>> filter, Propagator propagator, EventDetector detector, SignSemantic signSemantic)
Simple constructor.EventBasedScheduler(MeasurementBuilder<T> builder, DatesSelector selector, Propagator propagator, EventDetector detector, SignSemantic signSemantic)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
measurementIsFeasible(AbsoluteDate date)
Check if a measurement is feasible at some date.-
Methods inherited from class org.orekit.estimation.measurements.generation.AbstractScheduler
generate, getBuilder, getSelector, init
-
-
-
-
Constructor Detail
-
EventBasedScheduler
public EventBasedScheduler(MeasurementBuilder<T> builder, DatesSelector selector, Propagator propagator, EventDetector detector, SignSemantic signSemantic)
Simple constructor.The event detector instance should not be already bound to the propagator. It will be wrapped in an
adapter
in order to manage time ranges when measurements are feasible. The wrapping adapter will be automaticallyadded
to the propagator by this constructor.BEWARE! Dates selectors often store internally the last selected dates, so they are not reusable across several
instances
. A separate selector should be used for each scheduler.This constructor calls
EventBasedScheduler(MeasurementBuilder, DatesSelector, Predicate, Propagator, EventDetector, SignSemantic)
whith the predicate set to accept all generated measurements.- Parameters:
builder
- builder for individual measurementsselector
- selector for dates (beware that selectors are generally not reusable across severalinstances
, each selector should be dedicated to one schedulerpropagator
- propagator associated with this schedulerdetector
- detector for checking measurements feasibilitysignSemantic
- semantic of the detector g function sign to use
-
EventBasedScheduler
public EventBasedScheduler(MeasurementBuilder<T> builder, DatesSelector selector, Predicate<EstimatedMeasurementBase<T>> filter, Propagator propagator, EventDetector detector, SignSemantic signSemantic)
Simple constructor.The event detector instance should not be already bound to the propagator. It will be wrapped in an
adapter
in order to manage time ranges when measurements are feasible. The wrapping adapter will be automaticallyadded
to the propagator by this constructor.BEWARE! Dates selectors often store internally the last selected dates, so they are not reusable across several
instances
. A separate selector should be used for each scheduler.- Parameters:
builder
- builder for individual measurementsselector
- selector for dates (beware that selectors are generally not reusable across severalinstances
, each selector should be dedicated to one schedulerfilter
- predicate for a posteriori filtering of generated measurements (measurements are accepted if the predicates evaluates totrue
)propagator
- propagator associated with this schedulerdetector
- detector for checking measurements feasibilitysignSemantic
- semantic of the detector g function sign to use- Since:
- 13.0
-
-
Method Detail
-
measurementIsFeasible
public boolean measurementIsFeasible(AbsoluteDate date)
Check if a measurement is feasible at some date.- Specified by:
measurementIsFeasible
in classAbstractScheduler<T extends ObservedMeasurement<T>>
- Parameters:
date
- date to check- Returns:
- true if measurement if feasible
-
-