stella.parameter
Class SolDec

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.parameter.AbstractParameter
                  extended by stella.parameter.AbstractValue
                      extended by stella.parameter.SolDec
All Implemented Interfaces:
Cloneable, Parameter, Decreasing<Number>, Increasing<Number>, ParameterDepending, Value, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, Reloadable, ResourceSupplying

public class SolDec
extends AbstractValue
implements Increasing<Number>, Decreasing<Number>, ParameterDepending, Reloadable

A parameter giving the actual solar declination. It needs the solar ecliptical longitude. Returns the declination in degree. The declination follows from the solar longitude λ with the ecliptic obliqutiy ε to

 sin(δ) = sin(ε)·sin(λ)
 


Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static String DEFECLIPTIC
          The default value of the inclination of the ecliptic.
static String DEFNAME
          The default name of this parameter.
private static String DEFSOL
          The default name of the solar ecliptical longitude to use.
private  Value epsilon
          The obliquity of the ecliptic.
static String KEY_ECLIPTIC
          The inclination of the ecliptic, in radians.
static String KEY_SOL
          The name of the solar ecliptical longitude parameter.
private  Value lambda
          The ecliptical longitude of the Sun.
 
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
SolDec(Map prop)
          Constructs a new solar right ascension parameter.
 
Method Summary
 Double getAscendTime(Number until)
          Returns the remaining time in ms.
 Double getDescendTime(Number until)
          Returns the remaining time in ms.
 String getFormatted()
          Returns the formatted longitude value.
static double getSolDec(double lam, double eps)
          Returns solar declination from lambda.
private  Double getTime(Number until, double sign)
          Returns the time it takes until the stated value of the declination is reached and the time derivative of the declination has the sign given in the second argument.
 Number getValue()
          Returns the right ascension of the Sun in radians as a Double.
 void registerParameter(Parameter what)
          Registers the required additional globals for the sidereal time.
 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 sidereal time.
 
Methods inherited from class stella.parameter.AbstractValue
get, set
 
Methods inherited from class stella.parameter.AbstractParameter
createParameter, delivers, exit, 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.Parameter
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_SOL

public static final String KEY_SOL
The name of the solar ecliptical longitude parameter.

See Also:
Constant Field Values

KEY_ECLIPTIC

public static final String KEY_ECLIPTIC
The inclination of the ecliptic, in radians.

See Also:
Constant Field Values

DEFNAME

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

See Also:
Constant Field Values

DEFSOL

private static final String DEFSOL
The default name of the solar ecliptical longitude to use.

See Also:
Constant Field Values

DEFECLIPTIC

private static final String DEFECLIPTIC
The default value of the inclination of the ecliptic.

See Also:
Constant Field Values

lambda

private Value lambda
The ecliptical longitude of the Sun.


epsilon

private Value epsilon
The obliquity of the ecliptic.

Constructor Detail

SolDec

public SolDec(Map prop)
Constructs a new solar right ascension parameter. Defaults the value of the inclination of the ecliptic, KEY_ECLIPTIC, and the solar ecliptical longitude parameter KEY_SOL.

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 sidereal time. The solar declination is a read-only variable, therefore this method throws an UnsupportedOperationException.

Specified by:
setValue in interface Value
Throws:
UnsupportedOperationException

getValue

public Number getValue()
Returns the right ascension of the Sun in radians as a Double. Note that this method returns null if the globals denoting the solar longitude is missing.

Specified by:
getValue in interface Value

getSolDec

public static final double getSolDec(double lam,
                                     double eps)
Returns solar declination from lambda.


registerParameter

public void registerParameter(Parameter what)
Registers the required additional globals for the sidereal time. For this particular object, latitude and UT is required. Note that the argumental global is checked for being of instance types of Time or Longitude, 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. Only a very crude estimate.

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. Only a very crude estimate.

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.

getTime

private Double getTime(Number until,
                       double sign)
Returns the time it takes until the stated value of the declination is reached and the time derivative of the declination has the sign given in the second argument.


getFormatted

public String getFormatted()
Returns the formatted longitude value. It is a string giving the longitude in deg, min, and sec.

Specified by:
getFormatted in interface Parameter
Overrides:
getFormatted in class AbstractParameter