stella.xml
Class AvoidanceMerit

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.AbstractMerit
                  extended by stella.xml.AvoidanceMerit
All Implemented Interfaces:
Serializable, Cloneable, Meriting, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying
Direct Known Subclasses:
MoonAvoidanceMerit, SunAvoidanceMerit

public abstract class AvoidanceMerit
extends AbstractMerit

A merit calculating its gain from the distance to a certain location in the sky. Subclasses may be used for Sun or Moon avoidance.

   gain(t) = w*ds
   
Here, w is the {link #KEY_IMPACT} factor and s is the KEY_STEEPNESS. The distance of the target to the given point-of-avoidance is d.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static String DEFDECTARGET
          Default dec-target parameter name.
private static double DEFIMPACT
          Default value for the avoidance impact.
private static String DEFRATARGET
          Default ra-target parameter name.
private static double DEFSTEEPNESS
          Default value for the avoidance steepness.
static String KEY_DECTARGET
          The key pointing to the name of the dec-target parameter.
static String KEY_IMPACT
          The key linked to the impact of the airmass merit.
static String KEY_RATARGET
          The key pointing to the name of the ra-target parameter.
static String KEY_STEEPNESS
          The key linked to the steepness of the airmass 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
protected AvoidanceMerit(Map prop)
          Constructs a new airmass merit, defaulting the KEY_IMPACT and the KEY_STEEPNESS parameters.
 
Method Summary
protected abstract  Position getAvoidancePosition(ParameterClustering set, TargetDefinition target)
          Calculates the position that should be avoided from the current parameters and the actual target.
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long dummy)
          Calculates the actual gain using the distance of the target to the avoidance position.
 
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 airmass merit.

See Also:
Constant Field Values

KEY_STEEPNESS

public static final String KEY_STEEPNESS
The key linked to the steepness of the airmass merit.

See Also:
Constant Field Values

KEY_RATARGET

public static final String KEY_RATARGET
The key pointing to the name of the ra-target parameter.

See Also:
Constant Field Values

KEY_DECTARGET

public static final String KEY_DECTARGET
The key pointing to the name of the dec-target parameter.

See Also:
Constant Field Values

DEFIMPACT

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

See Also:
Constant Field Values

DEFSTEEPNESS

private static final double DEFSTEEPNESS
Default value for the avoidance steepness.

See Also:
Constant Field Values

DEFRATARGET

private static final String DEFRATARGET
Default ra-target parameter name.

See Also:
Constant Field Values

DEFDECTARGET

private static final String DEFDECTARGET
Default dec-target parameter name.

See Also:
Constant Field Values
Constructor Detail

AvoidanceMerit

protected AvoidanceMerit(Map prop)
Constructs a new airmass merit, defaulting the KEY_IMPACT and the KEY_STEEPNESS 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 gain using the distance of the target to the avoidance position. This position is calculated with a call to the (abstract) getAvoidancePosition(stella.ParameterClustering, stella.TargetDefinition) method. Subclasses may provide their distinguished avoidance positions, with the only limitation that this position must be deducable from the parameters.
The time dependance of this parameter should be very slow, thus we ignore any time-span stated.

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.

getAvoidancePosition

protected abstract Position getAvoidancePosition(ParameterClustering set,
                                                 TargetDefinition target)
Calculates the position that should be avoided from the current parameters and the actual target.