public class NightStretchMerit extends AbstractMerit
KEY_PERNIGHT times in a night, at least separated by
#KEY_TIMEOUT. The merit toggles between zero and one.| Modifier and Type | Field and Description |
|---|---|
private static double |
DEFDELAYFRACTION
Default value for the fraction used.
|
private static long |
DEFMAXTIMEOUT
Default value for the time-out.
|
private static double |
DEFMINHEIGHT
Default minimum height the target may reach.
|
private static long |
DEFMINTIMEOUT
Default value for the time-out.
|
private static String |
DEFNIGHTLENGTH
Default time-span for successful observations.
|
private static String |
DEFNIGHTREMAIN
Default time-span for successful observations.
|
private static int |
DEFPERNIGHT
Default number of observations to force time-out.
|
static boolean |
DEFSUCCESS
The key pointing to the name of the time parameter.
|
private static String |
DEFTARGETHEIGHT
Default time-span for successful observations.
|
private static String |
DEFTIME
Default time parameter name.
|
static String |
KEY_BLOCKPRIORITY
The priority within a block (after first observation in the night).
|
static String |
KEY_DELAYFRACTION
From the calculated intervall, we take this fraction.
|
static String |
KEY_MAXTIMEOUT
The key linked to the minimum time-out in milliseconds.
|
static String |
KEY_MINHEIGHT
The key pointing to the name of the nightlength parameter.
|
static String |
KEY_MINTIMEOUT
The key linked to the minimum time-out in milliseconds.
|
static String |
KEY_NIGHTLENGTH
The key pointing to the name of the nightlength parameter.
|
static String |
KEY_NIGHTREMAIN
The key pointing to the name of the nightremain parameter.
|
static String |
KEY_PERNIGHT
The number of targets that must be observed to force timeout.
|
static String |
KEY_SUCCESS
The key pointing to the name of the time parameter.
|
static String |
KEY_TARGETHEIGHT
The key pointing to the name of the nightlength parameter.
|
static String |
KEY_TIME
The key pointing to the name of the time parameter.
|
private static long |
serialVersionUID |
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORCONFIG, KEY_CLASS| Constructor and Description |
|---|
NightStretchMerit(Map prop)
Constructs a time-out merit.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getMerit(GlobalGrouping set,
Appointable target,
Collection ignore,
long within)
Calculates a merit between zero and
KEY_BLOCKPRIORITY,
optimizing the time-spane between observation in a night to reach the
KEY_PERNIGHT number of observations. |
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_MINTIMEOUT
public static final String KEY_MAXTIMEOUT
public static final String KEY_PERNIGHT
public static final String KEY_DELAYFRACTION
public static final String KEY_BLOCKPRIORITY
public static final String KEY_TIME
public static final String KEY_NIGHTREMAIN
public static final String KEY_NIGHTLENGTH
public static final String KEY_TARGETHEIGHT
public static final String KEY_MINHEIGHT
public static final String KEY_SUCCESS
private static final long DEFMINTIMEOUT
private static final long DEFMAXTIMEOUT
private static final double DEFDELAYFRACTION
private static final int DEFPERNIGHT
private static final double DEFMINHEIGHT
private static final String DEFTARGETHEIGHT
private static final String DEFNIGHTLENGTH
private static final String DEFNIGHTREMAIN
private static final String DEFTIME
public static final boolean DEFSUCCESS
public NightStretchMerit(Map prop)
#KEY_TIMEOUT
parameter. Proper creation should be done using the
AbstractMerit.createMerit(java.util.Map<java.lang.String, java.lang.String>) method. This create method
also takes care of proper parameter overloading.public double getMerit(GlobalGrouping set, Appointable target, Collection ignore, long within)
KEY_BLOCKPRIORITY,
optimizing the time-spane between observation in a night to reach the
KEY_PERNIGHT number of observations. If no (successful) picks
have been undertaken this night, one is returned, if all required picks
had already been conducted, zero is returned. First, the time available
for this target is calculated, based on the night remaining and the
target's height. This intervall is augmented by the time elapsed since
the last (successful) pick in this night. The summed intervall is now
devided by the number of picks still on schedule this night, augmented by
one. If this remaining interval is higher/lower than the maximum/minimum
interval, we adjust it accordingly. If the time since the last pick is
now exceeding this interval, we return KEY_BLOCKPRIORITY,
otherwise zero.set - Current observing conditions.target - The actual target.ignore - All targets, observable or not.within - The relevant time span in ms.