stella.parameter
Class TauTarget

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.TauTarget
All Implemented Interfaces:
Cloneable, Parameter, Increasing<Number>, TargetDependIncreasing<Number>, TargetDependingValue, ParameterDepending, TargetDepending, TargetDependingParameter, Value, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, Reloadable, ResourceSupplying

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

Represents the hour angle of the actual target. Follows the general Value contract, the quantity returned is in degrees from -180 to +180. Two other globals must be registered, SiderealTime and RaTarget.


Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
static String DEFNAME
          The default name of this value.
private static String DEFRA
          The default name of the ra-target parameter.
private static String DEFSIDEREAL
          The default name of the sidereal parameter to use.
private static DecimalFormat df
          The decimal formatter for the hour angle.
static String KEY_RA
          The name of the latitude to use.
static String KEY_SIDEREAL
          The name of the sidereal time to use.
private  TargetDependingParameter ra
          The ra of the target, degrees.
private  Value sidereal
          The local sidereal time in degrees.
 
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
TauTarget(Map info)
          Constructs a new tau target object.
 
Method Summary
private static double calculate(double ratarget, double sidtime)
          Calculates the hour angle using the current sidereal time and the handed over right ascension.
private  Double calculateTime(Number until, Number current)
          Calculates the remaining time out of the target tau and the current tau.
 Double getAscendTime(Number until)
          Returns the remaining time in ms.
 Double getAscendTimeFor(TargetDefinition target, Number until)
          Returns the remaining time in ms.
 Object getForAfter(TargetDefinition star, Double span)
          Calcualtes the tau this target will have in the solar time-span passed over to it.
 Object getForBefore(TargetDefinition star, Double span)
          Calcualtes the tau this target had in the solar time-span passed over to it.
 Number getForTarget(TargetDefinition star)
          Gets the declination of the target star.
 Number getValue()
          Returns the actual target's hour angle in degrees, wrapped into a Double.
 void registerParameter(Parameter what)
          Registers the required additional globals for the tau target.
 void registerTarget(TargetDefinition star)
          Registers a star to this parameter.
 double rescanned(String key, String old, String newval)
          As any parameter depending instance we fail if the parameter we depend on is now a different one.
 Number setValue(Number val)
          Sets the hour angle 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_SIDEREAL

public static final String KEY_SIDEREAL
The name of the sidereal time to use.

See Also:
Constant Field Values

KEY_RA

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

See Also:
Constant Field Values

DEFNAME

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

See Also:
Constant Field Values

DEFSIDEREAL

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

See Also:
Constant Field Values

DEFRA

private static final String DEFRA
The default name of the ra-target parameter.

See Also:
Constant Field Values

sidereal

private Value sidereal
The local sidereal time in degrees.


ra

private TargetDependingParameter ra
The ra of the target, degrees.


df

private static final DecimalFormat df
The decimal formatter for the hour angle.

Constructor Detail

TauTarget

public TauTarget(Map info)
Constructs a new tau target object. Note that this global can only function correctly after the sidereal time and ra target have been registered.

Method Detail

rescanned

public double rescanned(String key,
                        String old,
                        String newval)
As any parameter depending instance we fail if the parameter we depend on is now a different one.

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

setValue

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

Specified by:
setValue in interface Value
Throws:
UnsupportedOperationException

registerTarget

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

Specified by:
registerTarget in interface TargetDepending

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 actual target's hour angle in degrees, wrapped into a Double. Note that this method returns null if either the globals denoting the sidereal time or the ra target are missing.

Specified by:
getValue in interface Value

registerParameter

public void registerParameter(Parameter what)
Registers the required additional globals for the tau target. For this particular object, loacal sidereal time and target ra are required. Note that the argumental global is checked for being of instance types of SiderealTime or RaTarget, rather than querrying for the global name.

Specified by:
registerParameter in interface ParameterDepending

getAscendTime

public Double getAscendTime(Number until)
Returns the remaining time in ms.

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.

getAscendTimeFor

public Double getAscendTimeFor(TargetDefinition target,
                               Number until)
Returns the remaining time in ms.

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.

calculate

private static double calculate(double ratarget,
                                double sidtime)
Calculates the hour angle using the current sidereal time and the handed over right ascension.

Returns:
The hour angle in degrees.

calculateTime

private Double calculateTime(Number until,
                             Number current)
Calculates the remaining time out of the target tau and the current tau.


getForAfter

public Object getForAfter(TargetDefinition star,
                          Double span)
Calcualtes the tau this target will have in the solar time-span passed over to it.

Parameters:
span - Time span in ms.

getForBefore

public Object getForBefore(TargetDefinition star,
                           Double span)
Calcualtes the tau this target had in the solar time-span passed over to it.

Parameters:
span - Time span in ms.