T
- type of the field elementspublic class FieldParameterDrivenDateIntervalDetector<T extends CalculusFieldElement<T>> extends FieldAbstractDetector<FieldParameterDrivenDateIntervalDetector<T>,T>
Two dual views can be used for date intervals: either start date/stop date or
median date/duration. start
/stop
drivers and median
/duration
drivers work in pair. Both drivers in one pair can be selected and their changes will
be propagated to the other pair, but attempting to select drivers in both
pairs at the same time will trigger an exception. Changing the value of a driver
that is not selected should be avoided as it leads to inconsistencies between the pairs.
Propagator.addEventDetector(EventDetector)
Modifier and Type | Field and Description |
---|---|
static String |
DURATION_SUFFIX
Default suffix for duration driver.
|
static String |
MEDIAN_SUFFIX
Default suffix for median driver.
|
static String |
START_SUFFIX
Default suffix for start driver.
|
static String |
STOP_SUFFIX
Default suffix for stop driver.
|
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Constructor and Description |
---|
FieldParameterDrivenDateIntervalDetector(Field<T> field,
String prefix,
AbsoluteDate refStart,
AbsoluteDate refStop)
Build a new instance.
|
FieldParameterDrivenDateIntervalDetector(Field<T> field,
String prefix,
AbsoluteDate refMedian,
double refDuration)
Build a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected FieldParameterDrivenDateIntervalDetector<T> |
create(T newMaxCheck,
T newThreshold,
int newMaxIter,
FieldEventHandler<? super FieldParameterDrivenDateIntervalDetector<T>,T> newHandler)
Build a new instance.
|
T |
g(FieldSpacecraftState<T> s)
Compute the value of the switching function.
|
ParameterDriver |
getDurationDriver()
Get the driver for duration.
|
DateDriver |
getMedianDriver()
Get the driver for median date.
|
DateDriver |
getStartDriver()
Get the driver for start date.
|
DateDriver |
getStopDriver()
Get the driver for stop date.
|
eventOccurred, getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, resetState, withHandler, withMaxCheck, withMaxIter, withThreshold
public static final String START_SUFFIX
public static final String STOP_SUFFIX
public static final String MEDIAN_SUFFIX
public static final String DURATION_SUFFIX
public FieldParameterDrivenDateIntervalDetector(Field<T> field, String prefix, AbsoluteDate refMedian, double refDuration)
field
- field to which the elements belongprefix
- prefix to use for parameter drivers namesrefMedian
- reference interval median daterefDuration
- reference durationpublic FieldParameterDrivenDateIntervalDetector(Field<T> field, String prefix, AbsoluteDate refStart, AbsoluteDate refStop)
field
- field to which the elements belongprefix
- prefix to use for parameter drivers namesrefStart
- reference interval start daterefStop
- reference interval stop dateprotected FieldParameterDrivenDateIntervalDetector<T> create(T newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<? super FieldParameterDrivenDateIntervalDetector<T>,T> newHandler)
create
in class FieldAbstractDetector<FieldParameterDrivenDateIntervalDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>
newMaxCheck
- maximum checking interval (s)newThreshold
- convergence threshold (s)newMaxIter
- maximum number of iterations in the event time searchnewHandler
- event handler to call at event occurrencespublic DateDriver getStartDriver()
Note that the start date is automatically adjusted if either
median date
or duration
are selected
and changed.
public DateDriver getStopDriver()
Note that the stop date is automatically adjusted if either
median date
or duration
are selected
changed.
public DateDriver getMedianDriver()
Note that the median date is automatically adjusted if either
getStartDriver()
start date or stop date
are selected
changed.
public ParameterDriver getDurationDriver()
Note that the duration is automatically adjusted if either
getStartDriver()
start date or stop date
are selected
changed.
public T g(FieldSpacecraftState<T> s)
The function is positive for dates within the interval defined by applying the parameter drivers shifts to reference dates, and negative for dates outside of this interval. Note that if Δt_start - Δt_stop is less than ref_stop.durationFrom(ref_start), then the interval degenerates to empty and the function never reaches positive values.
g
in interface FieldEventDetector<T extends CalculusFieldElement<T>>
g
in class FieldAbstractDetector<FieldParameterDrivenDateIntervalDetector<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>
s
- the current state information: date, kinematics, attitudeCopyright © 2002-2023 CS GROUP. All rights reserved.