stella.parameter
Class AirmassTarget

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.parameter.AbstractParameter
                  extended by stella.parameter.AbstractTargetParameter
                      extended by stella.parameter.AbstractTargetValue
                          extended by stella.parameter.AirmassTarget
All Implemented Interfaces:
Cloneable, Parameter, Decreasing<Number>, Increasing<Number>, TargetDependDecreasing<Number>, TargetDependIncreasing<Number>, TargetDependingValue, ParameterDepending, TargetDepending, TargetDependingParameter, Value, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, Reloadable, ResourceSupplying

public class AirmassTarget
extends AbstractTargetValue
implements TargetDependIncreasing<Number>, TargetDependDecreasing<Number>, ParameterDepending, Reloadable

Represents the airmass to the actual target. Follows the general Value contract. Therefore, three other globals must be registered, TauTarget, DecTarget, and Latitude.


Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static String DEFALTTARGET
          The default name of the sidereal parameter to use.
private static double DEFMINHEIGHT
          The default validity border.
static String DEFNAME
          The default name of this value.
private static DecimalFormat df
          The formatter for the airmass.
private  TargetDependingParameter height
          The actual height of the target, degrees.
static String KEY_ALTTARGET
          The name of the latitude to use.
static String KEY_MINHEIGHT
          The height until which the airmass formular is correct.
 
Fields inherited from class stella.parameter.AbstractTargetParameter
KEY_INDEX
 
Fields inherited from class stella.parameter.AbstractParameter
KEY_FORMAT, KEY_NAME, KEY_PRESERVE, UNKNOWN
 
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.PropertySupplying
CONFIG, KEY_CLASS
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Constructor Summary
AirmassTarget(Map info)
          Constructs a new airmass target object.
 
Method Summary
private static Double calculate(Number h, double minheight)
          Calculates the airmass using the hour angle and the declination of the target.
static double getAirmassTarget(double h)
          Calculates the airmass with the default minimum height.
 Double getAscendTime(Number until)
          Returns the remaining time in ms.
 Double getAscendTimeFor(TargetDefinition target, Number until)
          Returns the remaining time in ms.
 Double getDescendTime(Number until)
          Returns the remaining time in ms.
 Double getDescendTimeFor(TargetDefinition target, Number until)
          Returns the remaining time in ms.
 Number getForTarget(TargetDefinition star)
          Gets the declination of the target star.
private  double getHeight(double z)
          Returns the height from the airmass.
 Number getValue()
          Returns the target's actual airmass, wrapped into a Double.
 void registerParameter(Parameter what)
          Registers the required additional globals for the Z target.
 void registerTarget(TargetDefinition star)
          Registers a star to this parameter.
 double rescanned(String key, String old, String newval)
          It is not possible to rescan the target height parameter name.
 Number setValue(Number val)
          Sets the airmass of the actual target.
 
Methods inherited from class stella.parameter.AbstractTargetValue
get, set
 
Methods inherited from class stella.parameter.AbstractTargetParameter
getAsStar, getConstant, getFormattedFor, getSetup
 
Methods inherited from class stella.parameter.AbstractParameter
createParameter, delivers, exit, getFormatted, getFormatted, getName, getPreserveFile, getString, getString, init, register, setName, toString
 
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, 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, setObject, setProperties, setProperty, stringProperties
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.Reloadable
reload
 
Methods inherited from interface stella.TargetDependingParameter
getFormattedFor
 
Methods inherited from interface stella.Parameter
getFormatted, getName, getString
 
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
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 

Field Detail

KEY_ALTTARGET

public static final String KEY_ALTTARGET
The name of the latitude to use.

See Also:
Constant Field Values

KEY_MINHEIGHT

public static final String KEY_MINHEIGHT
The height until which the airmass formular is correct.

See Also:
Constant Field Values

DEFNAME

public static final String DEFNAME
The default name of this value.

See Also:
Constant Field Values

DEFMINHEIGHT

private static final double DEFMINHEIGHT
The default validity border.

See Also:
Constant Field Values

DEFALTTARGET

private static final String DEFALTTARGET
The default name of the sidereal parameter to use.

See Also:
Constant Field Values

height

private TargetDependingParameter height
The actual height of the target, degrees.


df

private static final DecimalFormat df
The formatter for the airmass.

Constructor Detail

AirmassTarget

public AirmassTarget(Map info)
Constructs a new airmass target object. Note that this global can only function correctly after the tau and dec of the target and the teide latitude have been registered.

Method Detail

rescanned

public double rescanned(String key,
                        String old,
                        String newval)
It is not possible to rescan the target height parameter name. All other return 1.

Specified by:
rescanned in interface Reloadable
Overrides:
rescanned in class AbstractParameter

setValue

public Number setValue(Number val)
                throws UnsupportedOperationException
Sets the airmass of the actual target. This is a read-only variable, therefore this method throws an UnsupportedOperationException.

Specified by:
setValue in interface Value
Throws:
UnsupportedOperationException

getForTarget

public Number getForTarget(TargetDefinition star)
Gets the declination of the target star.

Specified by:
getForTarget in interface TargetDependingValue
Specified by:
getForTarget in interface TargetDependingParameter
Returns:
A Double holding the target star's declination.

getValue

public Number getValue()
Returns the target's actual airmass, wrapped into a Double. Note that this method returns null if either of the globals denoting the tau, dec of the target or the latitude is missing.

Specified by:
getValue in interface Value

getAirmassTarget

public static final double getAirmassTarget(double h)
Calculates the airmass with the default minimum height. This method is public to allow outsiders to use it.


calculate

private static Double calculate(Number h,
                                double minheight)
Calculates the airmass using the hour angle and the declination of the target. The latitude of the site must be registered first. If the height of the target is below KEY_MINHEIGHT, Double.POSITIVE_INFINITY is returned.

Formular is from world of astronomy.


registerParameter

public void registerParameter(Parameter what)
Registers the required additional globals for the Z target. For this particular object, target dec and tau and teide latitude are required. Note that the argumental global is checked for being of instance types of TauTarget, DecTarget or Latitude, rather than querrying for the global name.

Specified by:
registerParameter in interface ParameterDepending

registerTarget

public void registerTarget(TargetDefinition star)
Registers a star to this parameter. The target definition is directly passed to the height reference of this parameter. Note that this will set the target in the additional parameter, too.

Specified by:
registerTarget in interface TargetDepending

getAscendTime

public Double getAscendTime(Number until)
Returns the remaining time in ms. The ascend time is defined as the next time the airmass reaches the target value and is still increasing. This will be when the height of the target is decreasing, i.e. in the western hemisphere. We therefore pass the target height, deduced from the taret airmass, to the height's descend time.

Specified by:
getAscendTime in interface Increasing<Number>
Parameters:
until - The value in the future.
Returns:
A double carrying the remaining time or null if the time cannot be calculated.

getDescendTime

public Double getDescendTime(Number until)
Returns the remaining time in ms. The ascend time is defined as the next time the airmass reaches the target value and is still decreasing. This will be when the height of the target is increasing, i.e. in the eastern hemisphere. We therefore pass the target height, deduced from the taret airmass, to the height's ascend time.

Specified by:
getDescendTime in interface Decreasing<Number>
Parameters:
until - The value in the future.
Returns:
A double carrying the remaining time or null if the time cannot be calculated.

getAscendTimeFor

public Double getAscendTimeFor(TargetDefinition target,
                               Number until)
Returns the remaining time in ms. The ascend time is defined as the next time the airmass reaches the target value and is still increasing. This will be when the height of the target is decreasing, i.e. in the western hemisphere. We therefore pass the target height, deduced from the taret airmass, to the height's descend time.

Specified by:
getAscendTimeFor in interface TargetDependIncreasing<Number>
until - The value in the future.
Returns:
A double carrying the remaining time or null if the time cannot be calculated.

getDescendTimeFor

public Double getDescendTimeFor(TargetDefinition target,
                                Number until)
Returns the remaining time in ms. The ascend time is defined as the next time the airmass reaches the target value and is still decreasing. This will be when the height of the target is increasing, i.e. in the eastern hemisphere. We therefore pass the target height, deduced from the taret airmass, to the height's ascend time.

Specified by:
getDescendTimeFor in interface TargetDependDecreasing<Number>
until - The value in the future.
Returns:
A double carrying the remaining time or null if the time cannot be calculated.

getHeight

private double getHeight(double z)
Returns the height from the airmass. Uses a first-order newtonian approximation to avoid round-off errors.