pa method

double pa(
  1. double lambda,
  2. double beta,
  3. double b
)

Position angle of Moon's axis of rotation.

Implementation

double pa(double lambda, double beta, double b) {
  final v = _omega + _deltaPsi + _sigma / _sI;
  final sV = math.sin(v), cV = math.cos(v);
  final sIRho = math.sin(_i + _rho), cIRho = math.cos(_i + _rho);
  final xp = sIRho * sV;
  final yp = sIRho * cV * _cEps - cIRho * _sEps;
  final w = math.atan2(xp, yp);
  final eq = coord.eclToEq(lambda + _deltaPsi, beta, _sEps, _cEps);
  var p = math.asin(
      math.sqrt(xp * xp + yp * yp) * math.cos(eq.ra - w) / math.cos(b));
  if (p < 0) p += 2 * math.pi;
  return p;
}