stella.xml
Class NumberMerit

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

public class NumberMerit
extends AbstractMerit
implements EndpointDefining

A class defining a decreasing merit as the number of successful observations of the target increases. It models the merit with

   g(t)=k·(π/2-arctan(N/width)·2/π),
   
where N is the number of successful observations, k is a scaling factor and width is a stretching parameter. Though the merit never get zero, one can define a KEY_TERMINAL property, which forces the merit to be zero once this number of successful observations has been surpassed, thus it is EndpointDefining.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static double DEFIMPACT
          Default value for the priority impact.
private static int DEFTERMINAL
          Default value for the maximum number of observations.
private static double DEFWIDTH
          Default value of the merit width.
static String KEY_IMPACT
          The key linked to the impact of the merit.
static String KEY_TERMINAL
          The key linked to the maximum number of successful observations.
static String KEY_WIDTH
          The key linked to the width of the 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
NumberMerit(Map prop)
          Constructs a number merit, defaulting the KEY_IMPACT and the KEY_WIDTH parameters.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long dummy)
          Calculates the actual time slot merit.
 boolean isCompleted(ParameterClustering set, TargetDefinition target)
          Returns true, if the number of successful observations has reached the requested value.
 
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 stella.Meriting
getInitializer, initMerit
 
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_IMPACT

public static final String KEY_IMPACT
The key linked to the impact of the merit.

See Also:
Constant Field Values

KEY_WIDTH

public static final String KEY_WIDTH
The key linked to the width of the merit.

See Also:
Constant Field Values

KEY_TERMINAL

public static final String KEY_TERMINAL
The key linked to the maximum number of successful observations.

See Also:
Constant Field Values

DEFIMPACT

private static final double DEFIMPACT
Default value for the priority impact.

See Also:
Constant Field Values

DEFWIDTH

private static final double DEFWIDTH
Default value of the merit width.

See Also:
Constant Field Values

DEFTERMINAL

private static final int DEFTERMINAL
Default value for the maximum number of observations.

See Also:
Constant Field Values
Constructor Detail

NumberMerit

public NumberMerit(Map prop)
Constructs a number merit, defaulting the KEY_IMPACT and the KEY_WIDTH parameters. 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 dummy)
Calculates the actual time slot merit. If the number of successful observations is below #KEY_MAXOBSERVATIONS, the KEY_IMPACT merit is returned. If the target definition is not history aware, one is returned.
As this merit focusses inly on number of picks, the time span is ignored.

Specified by:
getMerit in interface Meriting
Parameters:
set - Current observing conditions.
target - The actual target.
ignore - The list of targetes relevant to the actual target.
dummy - The relevant time span in ms.

isCompleted

public boolean isCompleted(ParameterClustering set,
                           TargetDefinition target)
Returns true, if the number of successful observations has reached the requested value.

Specified by:
isCompleted in interface EndpointDefining