public abstract class EvenlySpacedMerit extends AbstractMerit
FixedDelayMerit and
FixedRateMerit. These two classes differ in the way they evaluate the
crucial parameter t0. The formular used for calculating
this time slot merit is
ts(t) = w[(t-t0)/p]α
Here, w is the {link #KEY_IMPACT} factor and p is the
period aimed at. α is a double that defines the 'forgiveness'
of the merit if the time aimed at is not yet reached. Values below one allow
a rather shallow influence of the observation time aimed at, in the way that
target picking is possible before the aim time and not much increased once
this time has passed. Values above one more or less block target selection
prior to the aim time with a sharp increase of propability once this time has
passed.OneObservationMerit this merit can be used to
additionally specify a number of maximum observations.| Modifier and Type | Field and Description |
|---|---|
private static double |
DEFPERIODDAY
Default value for the period.
|
private static double |
DEFSTEEPNESS
Default value for the period.
|
private static String |
DEFTIME
Default time parameter name.
|
private static double |
DEFZEROFRACTION
Default no picking half of the period.
|
private static double |
DEFZEROSUBTRACT
Default no picking half of the period.
|
static String |
KEY_PERIOD
The key linked to the period of the observations.
|
static String |
KEY_PERIODDAY
The key linked to the period of the observations.
|
static String |
KEY_STEEPNESS
The key linked to the steepness of the aim time influence.
|
static String |
KEY_TIME
The key pointing to the name of the time parameter.
|
static String |
KEY_ZEROFRACTION
The key linked to the fraction of the period the merit stay zero.
|
static String |
KEY_ZEROSUBTRACT
The key linked to the fraction of the period the merit stay zero.
|
private static long |
serialVersionUID |
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORCONFIG, KEY_CLASS| Modifier | Constructor and Description |
|---|---|
protected |
EvenlySpacedMerit(Map<String,String> prop)
Constructs an evenly spaced merit.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getMerit(GlobalGrouping set,
Appointable target,
Collection<Appointable> ignore,
long within)
Calculates the actual time slot merit.
|
protected abstract Date |
getT0(GlobalGrouping set,
Appointable target)
Returns t0, a measurement of the last valid observations.
|
protected Date |
getT0FromSubmitted(GlobalGrouping set,
Date submit) |
createMerit, getInitializer, initMeritaugment, augment, augment, augment, augment, clone, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, initProperties, isNew, parseObject, parseObject, reload, reload, removeProperty, requires, rescanned, setObject, setProperties, setProperty, stringProperties, toStringprivate static final long serialVersionUID
public static final String KEY_PERIOD
public static final String KEY_PERIODDAY
public static final String KEY_ZEROFRACTION
public static final String KEY_ZEROSUBTRACT
public static final String KEY_STEEPNESS
public static final String KEY_TIME
private static final double DEFPERIODDAY
private static final double DEFSTEEPNESS
private static final double DEFZEROFRACTION
private static final double DEFZEROSUBTRACT
private static final String DEFTIME
public double getMerit(GlobalGrouping set, Appointable target, Collection<Appointable> ignore, long within)
KEY_STEEPNESS of the merit,
a value between zero and positive infinity is returned. The value
returned one period after t0 is always one.set - Current observing conditions.target - The actual target.ignore - All targets, observable or not.within - The relevant time span in ms.protected Date getT0FromSubmitted(GlobalGrouping set, Date submit)
protected abstract Date getT0(GlobalGrouping set, Appointable target)