public class WindowMerit extends AbstractMerit
KEY_LINEARIMPACT and
KEY_HYPERBOLICIMPACT and a weighing factor KEY_WEIGHT.
The KEY_PROPEL points to a time at which the window merit should
boost to infinity. The parameter set
handed over must contain a NightRemain parameter. The formular used
is (see
).
gain(t) = k·max(0., 1-a·trtarget)/trnight+b·1/(1+propel·trtarget/trnight)Here, k is the
KEY_WEIGHT factor, a is the
KEY_LINEARIMPACT linear impact, while b is the
KEY_HYPERBOLICIMPACT hyperbolic impact. The
KEY_PROPEL is the propel factor. The parameter
trnight is the remaining time of the night. The
remaining
time of the target, trtarget, is derived from the
Appointable target definition version. As the window-merit increases
with time, we always subtract the duration of the observation from the
remaining target time, or return zero if the remaining time is zero.| Modifier and Type | Field and Description |
|---|---|
private static double |
DEFHYPERBOLICIMPACT
Default value for the hyperbolic impact.
|
private static double |
DEFLINEARIMPACT
Default value for the linear impact.
|
private static String |
DEFNIGHTTIME
Default remaining night-time parameter name.
|
private static double |
DEFPROPEL
Default value for the propel factor.
|
private static double |
DEFWEIGHT
Default value for the weight.
|
static String |
KEY_HYPERBOLICIMPACT
The key linked to the impact of the hyperbolic window merit.
|
static String |
KEY_LINEARIMPACT
The key linked to the impact of the linear window merit.
|
static String |
KEY_NIGHTTIME
The key pointing to the name of the remaining night-time parameter.
|
static String |
KEY_PROPEL
The key linked to the terminal hour angle of the target.
|
static String |
KEY_WEIGHT
The key linked to the weight of the window merit.
|
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORCONFIG, KEY_CLASS| Constructor and Description |
|---|
WindowMerit(Map prop)
Constructs a new window merit using only default weights and impacts.
|
| Modifier and Type | Method and Description |
|---|---|
double |
getMerit(GlobalGrouping set,
Appointable target,
Collection ignore,
long duration)
Calculates the window merit stemming from the target definition.
|
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, toStringpublic static final String KEY_LINEARIMPACT
public static final String KEY_HYPERBOLICIMPACT
public static final String KEY_WEIGHT
public static final String KEY_PROPEL
public static final String KEY_NIGHTTIME
private static final double DEFLINEARIMPACT
private static final double DEFHYPERBOLICIMPACT
private static final double DEFWEIGHT
private static final double DEFPROPEL
private static final String DEFNIGHTTIME
public WindowMerit(Map prop)
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 duration)
set - Current observing conditions.target - The actual target.ignore - All targets, observable or not.duration - The relevant time span in ms.