T
- the type of the measurementpublic class EventBasedScheduler<T extends ObservedMeasurement<T>> extends AbstractScheduler<T>
Scheduler
based on EventDetector
for generating measurements sequences.
Event-based schedulers generate measurements following a repetitive pattern when the
a detector
provided at construction is in a measurement 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).
Constructor and Description |
---|
EventBasedScheduler(MeasurementBuilder<T> builder,
DatesSelector selector,
Propagator propagator,
EventDetector detector,
SignSemantic signSemantic)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
SortedSet<T> |
generate(List<OrekitStepInterpolator> interpolators)
Generate a sequence of measurements.
|
getBuilder, getSelector, init
public EventBasedScheduler(MeasurementBuilder<T> builder, DatesSelector selector, Propagator propagator, EventDetector detector, SignSemantic signSemantic)
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 automatically
added
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.
builder
- builder for individual measurementsselector
- selector for dates (beware that selectors are generally not
reusable across several instances
, 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 usepublic SortedSet<T> generate(List<OrekitStepInterpolator> interpolators)
interpolators
- interpolators for spacecraft statesCopyright © 2002-2023 CS GROUP. All rights reserved.