stella.xml
Class WindowMerit

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

public class WindowMerit
extends AbstractMerit

A merit calculating its gain from the remaining observation time of the target. It uses two impact factors 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.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
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.
 
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
WindowMerit(Map prop)
          Constructs a new window merit using only default weights and impacts.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long duration)
          Calculates the window merit stemming from the target definition.
 
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_LINEARIMPACT

public static final String KEY_LINEARIMPACT
The key linked to the impact of the linear window merit.

See Also:
Constant Field Values

KEY_HYPERBOLICIMPACT

public static final String KEY_HYPERBOLICIMPACT
The key linked to the impact of the hyperbolic window merit.

See Also:
Constant Field Values

KEY_WEIGHT

public static final String KEY_WEIGHT
The key linked to the weight of the window merit.

See Also:
Constant Field Values

KEY_PROPEL

public static final String KEY_PROPEL
The key linked to the terminal hour angle of the target.

See Also:
Constant Field Values

KEY_NIGHTTIME

public static final String KEY_NIGHTTIME
The key pointing to the name of the remaining night-time parameter.

See Also:
Constant Field Values

DEFLINEARIMPACT

private static final double DEFLINEARIMPACT
Default value for the linear impact.

See Also:
Constant Field Values

DEFHYPERBOLICIMPACT

private static final double DEFHYPERBOLICIMPACT
Default value for the hyperbolic impact.

See Also:
Constant Field Values

DEFWEIGHT

private static final double DEFWEIGHT
Default value for the weight.

See Also:
Constant Field Values

DEFPROPEL

private static final double DEFPROPEL
Default value for the propel factor.

See Also:
Constant Field Values

DEFNIGHTTIME

private static final String DEFNIGHTTIME
Default remaining night-time parameter name.

See Also:
Constant Field Values
Constructor Detail

WindowMerit

public WindowMerit(Map prop)
Constructs a new window merit using only default weights and impacts. The proper way to create a window merit is 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 duration)
Calculates the window merit stemming from the target definition.

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