/// <summary> /// Private method to calculate either incidence or zenith angles, /// depending on passed tiltedSurface /// </summary> private double GetIncidenceAngle(DateTime solarTime, TiltedSurface tiltedSurface) { var declinationAngle = config.DeclinationAngle.DeclinationAngle(solarTime.DayOfYear); var hourAngle = HourAngle.GetHourAngle(solarTime); return(IncidenceAngle.GetIncidenceAngle(tiltedSurface, Location.Latitude.FromDegreeToRadians(), declinationAngle, hourAngle)); }
/// <summary> /// Returns the hour angle. /// The given dateTime will be interpreted as defined in the configuration object. /// </summary> public double GetHourAngle(DateTime dateTime) => calculator.CalculateAngle(dt => HourAngle.GetHourAngle(dt), dateTime);