stella.parameter
Class Horizon.Ellipsoidal

java.lang.Object
  extended by stella.parameter.Horizon.Ellipsoidal
Direct Known Subclasses:
Horizon.Stella1, Horizon.Stella2
Enclosing class:
Horizon

private static class Horizon.Ellipsoidal
extends Object

The class to calculate the shadow of two elliptical roofs, like in STELLA.


Field Summary
private static double AHALF
          The half-diameter of the building roof ellipse, horizontal.
private static double BHALF
          The half-diameter of the building roof ellipse, vertical.
private static double D0
          Distance on long axis to closer roof half.
private static double D1
          Distance on long axis to far roof.
private  double far
          From the dimensions of the building, the far viewing angle.
private static double L0
          Distance on short axis to building wall.
private static double M0
          Height of the wall.
private  double near
          From the dimensions of the building, the close viewing angle.
private  double phi0
          The azimuth offset of the long edge to closer roof.
private static double R0
          Radius of mirror.
private static double Z0
          Offset above zero for roof-halfs.
 
Constructor Summary
private Horizon.Ellipsoidal(double az0)
           
 
Method Summary
protected  double obscured(Vector2D wall, double h)
          This method calculates the amount of shading from simplified geometric considerations.
 double shadow(double az, double h)
          Combines the calculation of the wall height plus vignetting.
protected  Vector2D wall(double az)
          This method returns the height of the wall/roof in the second componentand the distance to the footpoint of the roof in the first.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AHALF

private static final double AHALF
The half-diameter of the building roof ellipse, horizontal.

See Also:
Constant Field Values

BHALF

private static final double BHALF
The half-diameter of the building roof ellipse, vertical.

See Also:
Constant Field Values

Z0

private static final double Z0
Offset above zero for roof-halfs.

See Also:
Constant Field Values

D0

private static final double D0
Distance on long axis to closer roof half.

See Also:
Constant Field Values

D1

private static final double D1
Distance on long axis to far roof.

See Also:
Constant Field Values

M0

private static final double M0
Height of the wall.

See Also:
Constant Field Values

L0

private static final double L0
Distance on short axis to building wall.

See Also:
Constant Field Values

R0

private static final double R0
Radius of mirror.

See Also:
Constant Field Values

phi0

private double phi0
The azimuth offset of the long edge to closer roof.


near

private double near
From the dimensions of the building, the close viewing angle.


far

private double far
From the dimensions of the building, the far viewing angle.

Constructor Detail

Horizon.Ellipsoidal

private Horizon.Ellipsoidal(double az0)
Method Detail

wall

protected Vector2D wall(double az)
This method returns the height of the wall/roof in the second componentand the distance to the footpoint of the roof in the first.

Parameters:
az - Azimuth in degrees.

obscured

protected double obscured(Vector2D wall,
                          double h)
This method calculates the amount of shading from simplified geometric considerations. From the current top-point of the wall, as returned by wall(double), we calculate the angle under which the mirror of the telescope will be seen. If the current pointing height is below the wall height minus the viewing angle, total shading is assumed. If the pointing height is above the wall height plus this angle, zero shading is returned. For pointings between those two, we estimate the shaded area by calculating the height of the wall point on the mirror and assuming a horizontal line there. This assumption is correct, if the wall height is only a slowly varying function of azimuth, which is mostly the case.

Parameters:
h - in degrees.

shadow

public double shadow(double az,
                     double h)
Combines the calculation of the wall height plus vignetting.