stella.xml
Class PriorityMerit

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

public class PriorityMerit
extends AbstractMerit

A simple priority merit. It uses two scaling parameters, KEY_IMPACT and KEY_STRETCH that can be overriden in the xml-definition. The user must provide a KEY_PRIORITY that should be a simple integer. Smaller numbers means higher priority. The formula used for this merit is

   merit(t) = k·ef·p
   
Here, k is the KEY_IMPACT factor, while f is the KEY_STRETCH. The priority comes in with p. Note that this merit is not time dependant. Its range is between zero and positive infinity.
As a rule of thumb consider using priorities from ten up for engineering groups, below ten for science groups.

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 double DEFSTRETCH
          Default value for the priority stretch.
static String KEY_IMPACT
          The key linked to the impact of the priority merit.
static String KEY_PRIORITY
          The key linked to the priority of the target.
static String KEY_STRETCH
          The key linked to the stretching factor of the priority.
 
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
PriorityMerit(Map prop)
          Constructs a new priority merit.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long dummy)
          Calculates the priority merit stemming from the target priority.
 
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_IMPACT

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

See Also:
Constant Field Values

KEY_STRETCH

public static final String KEY_STRETCH
The key linked to the stretching factor of the priority.

See Also:
Constant Field Values

KEY_PRIORITY

public static final String KEY_PRIORITY
The key linked to the priority of the target.

See Also:
Constant Field Values

DEFIMPACT

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

See Also:
Constant Field Values

DEFSTRETCH

private static final double DEFSTRETCH
Default value for the priority stretch.

See Also:
Constant Field Values
Constructor Detail

PriorityMerit

public PriorityMerit(Map prop)
Constructs a new priority merit. This constructor should never be used directly, create a priority merit with the AbstractMerit.createMerit(java.util.Map) method. This create method also takes care of proper argument overloading, while normal construction always uses default values.
The default values for the KEY_STRETCH and the KEY_IMPACT factors are set.

Method Detail

getMerit

public double getMerit(ParameterClustering set,
                       TargetDefinition target,
                       Collection ignore,
                       long dummy)
Calculates the priority merit stemming from the target priority. Note that this merit does not need any of the current parameter values or of the target definition handed over. All its paramters are set during the AbstractMerit.createMerit(java.util.Map) creation.

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.