stella.xml
Class NightStretchMerit

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.AbstractMerit
                  extended by stella.xml.NightStretchMerit
All Implemented Interfaces:
Serializable, Cloneable, Meriting, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying

public class NightStretchMerit
extends AbstractMerit

A class defining a time-slot merit for a target that should be observed up to KEY_PERNIGHT times in a night, at least separated by #KEY_TIMEOUT. The merit toggles between zero and one.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
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.
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
NightStretchMerit(Map prop)
          Constructs a time-out merit.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition 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.
 
Methods inherited from class stella.AbstractMerit
createMerit, getInitializer, initMerit
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, init, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, 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, isNew, parseObject, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 
Methods inherited from interface util.Initializable
init
 

Field Detail

KEY_MINTIMEOUT

public static final String KEY_MINTIMEOUT
The key linked to the minimum time-out in milliseconds.

See Also:
Constant Field Values

KEY_MAXTIMEOUT

public static final String KEY_MAXTIMEOUT
The key linked to the minimum time-out in milliseconds.

See Also:
Constant Field Values

KEY_PERNIGHT

public static final String KEY_PERNIGHT
The number of targets that must be observed to force timeout.

See Also:
Constant Field Values

KEY_DELAYFRACTION

public static final String KEY_DELAYFRACTION
From the calculated intervall, we take this fraction.

See Also:
Constant Field Values

KEY_BLOCKPRIORITY

public static final String KEY_BLOCKPRIORITY
The priority within a block (after first observation in the night).

See Also:
Constant Field Values

KEY_TIME

public static final String KEY_TIME
The key pointing to the name of the time parameter.

See Also:
Constant Field Values

KEY_NIGHTREMAIN

public static final String KEY_NIGHTREMAIN
The key pointing to the name of the nightremain parameter.

See Also:
Constant Field Values

KEY_NIGHTLENGTH

public static final String KEY_NIGHTLENGTH
The key pointing to the name of the nightlength parameter.

See Also:
Constant Field Values

KEY_TARGETHEIGHT

public static final String KEY_TARGETHEIGHT
The key pointing to the name of the nightlength parameter.

See Also:
Constant Field Values

KEY_MINHEIGHT

public static final String KEY_MINHEIGHT
The key pointing to the name of the nightlength parameter.

See Also:
Constant Field Values

KEY_SUCCESS

public static final String KEY_SUCCESS
The key pointing to the name of the time parameter.

See Also:
Constant Field Values

DEFMINTIMEOUT

private static final long DEFMINTIMEOUT
Default value for the time-out.

See Also:
Constant Field Values

DEFMAXTIMEOUT

private static final long DEFMAXTIMEOUT
Default value for the time-out.

See Also:
Constant Field Values

DEFDELAYFRACTION

private static final double DEFDELAYFRACTION
Default value for the fraction used.

See Also:
Constant Field Values

DEFPERNIGHT

private static final int DEFPERNIGHT
Default number of observations to force time-out.

See Also:
Constant Field Values

DEFMINHEIGHT

private static final double DEFMINHEIGHT
Default minimum height the target may reach.

See Also:
Constant Field Values

DEFTARGETHEIGHT

private static final String DEFTARGETHEIGHT
Default time-span for successful observations.

See Also:
Constant Field Values

DEFNIGHTLENGTH

private static final String DEFNIGHTLENGTH
Default time-span for successful observations.

See Also:
Constant Field Values

DEFNIGHTREMAIN

private static final String DEFNIGHTREMAIN
Default time-span for successful observations.

See Also:
Constant Field Values

DEFTIME

private static final String DEFTIME
Default time parameter name.

See Also:
Constant Field Values

DEFSUCCESS

public static final boolean DEFSUCCESS
The key pointing to the name of the time parameter.

See Also:
Constant Field Values
Constructor Detail

NightStretchMerit

public NightStretchMerit(Map prop)
Constructs a time-out merit. It defaults the #KEY_TIMEOUT parameter. Proper creation should be done using the AbstractMerit.createMerit(java.util.Map) method. This create method also takes care of proper parameter overloading.

Method Detail

getMerit

public double getMerit(ParameterClustering set,
                       TargetDefinition 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. 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.

Parameters:
set - Current observing conditions.
target - The actual target.
ignore - The list of targetes relevant to the actual target.
within - The relevant time span in ms.