Zmanim.Calculator.ZmanimCalculator Class Reference

Implementation of sunrise and sunset methods to calculate astronomical times. This implementation is a port of the C++ algorithm written by Ken Bloom for the sourceforge.net Zmanim project. Ken's algorithm is based on the US Naval Almanac algorithm. Added to Ken's code is adjustment of the zenith to account for elevation. More...

Inheritance diagram for Zmanim.Calculator.ZmanimCalculator:
Zmanim.Calculator.AstronomicalCalculator Zmanim.Calculator.IAstronomicalCalculator

List of all members.

Public Member Functions

override double GetUtcSunrise (IAstronomicalCalendar astronomicalCalendar, double zenith, bool adjustForElevation)
 A method that calculates UTC sunrise as well as any time based on an angle above or below sunrise. This abstract method is implemented by the classes that extend this class.
override double GetUtcSunset (IAstronomicalCalendar astronomicalCalendar, double zenith, bool adjustForElevation)
 A method that calculates UTC sunset as well as any time based on an angle above or below sunset. This abstract method is implemented by the classes that extend this class.

Properties

override string CalculatorName [get]
 Gets the name of the calculator/.

Detailed Description

Implementation of sunrise and sunset methods to calculate astronomical times. This implementation is a port of the C++ algorithm written by Ken Bloom for the sourceforge.net Zmanim project. Ken's algorithm is based on the US Naval Almanac algorithm. Added to Ken's code is adjustment of the zenith to account for elevation.

<author>Ken Bloom</author> <author>Eliyahu Hershfeld</author>

Changed to LGPL with permission from the authors.


Member Function Documentation

override double Zmanim.Calculator.ZmanimCalculator.GetUtcSunrise ( IAstronomicalCalendar  astronomicalCalendar,
double  zenith,
bool  adjustForElevation 
) [virtual]

A method that calculates UTC sunrise as well as any time based on an angle above or below sunrise. This abstract method is implemented by the classes that extend this class.

Parameters:
astronomicalCalendar Used to calculate day of year.
zenith the azimuth below the vertical zenith of 90 degrees. for sunrise typically the zenith used for the calculation uses geometric zenith of 90°; and adjusts this slightly to account for solar refraction and the sun's radius. Another example would be AstronomicalCalendar.GetBeginNauticalTwilight that passes AstronomicalCalendar.NAUTICAL_ZENITH to this method.
adjustForElevation 
Returns:
The UTC time of sunrise in 24 hour format. 5:45:00 AM will return 5.75.0. If an error was encountered in the calculation (expected behavior for some locations such as near the poles, Double.NaN will be returned.

Implements Zmanim.Calculator.AstronomicalCalculator.

override double Zmanim.Calculator.ZmanimCalculator.GetUtcSunset ( IAstronomicalCalendar  astronomicalCalendar,
double  zenith,
bool  adjustForElevation 
) [virtual]

A method that calculates UTC sunset as well as any time based on an angle above or below sunset. This abstract method is implemented by the classes that extend this class.

Parameters:
astronomicalCalendar Used to calculate day of year.
zenith the azimuth below the vertical zenith of 90°;. For sunset typically the zenith used for the calculation uses geometric zenith of 90°; and adjusts this slightly to account for solar refraction and the sun's radius. Another example would be AstronomicalCalendar.GetEndNauticalTwilight that passes AstronomicalCalendar.NAUTICAL_ZENITH to this method.
adjustForElevation 
Returns:
The UTC time of sunset in 24 hour format. 5:45:00 AM will return 5.75.0. If an error was encountered in the calculation (expected behavior for some locations such as near the poles,
See also:
Double.NaN
will be returned.

Implements Zmanim.Calculator.AstronomicalCalculator.


Property Documentation

override string Zmanim.Calculator.ZmanimCalculator.CalculatorName [get]

Gets the name of the calculator/.

Reimplemented from Zmanim.Calculator.AstronomicalCalculator.


The documentation for this class was generated from the following file:
Generated on Mon May 31 12:33:43 2010 for Zmanim Project by  doxygen 1.6.3