* Last processed by NICE on 12-Jun-2000 15:53:00 * Customized for : IEEE, LINUX, UNIX, MOTIF, F77 FUNCTION FUNPNL(XV,A) C---------------------------------------------------------------------- C POINT C Compute the pointing function C V-2.0 C Changed sign of excentricity corrections C---------------------------------------------------------------------- INCLUDE 'size.inc' REAL*8 XV(3),A(MVAR),FUNPNL REAL*8 AZ,EL,COSEL,SINEL,TANEL,COSAZ,SINAZ * AZ=XV(1) EL=XV(2) COSEL=COS(EL) SINEL=SIN(EL) COSAZ=COS(AZ) SINAZ=SIN(AZ) IF (XV(3).EQ.0) THEN FUNPNL=-A( 1)*COSEL $ +COSEL*ASIN(MAX(-1D0,MIN(1D0,-A(3)/COSEL))) $ -A( 4)*COSAZ*SINEL $ +A( 5)*SINAZ*SINEL $ +A( 6)*SINEL $ -A(11)*SINAZ*COSEL $ -A(12)*COSAZ*COSEL IF (KVAR.LE.12) RETURN FUNPNL = FUNPNL $ +A(13)*COSEL*SIN(2.D0*AZ) $ +A(14)*COSEL*COS(2.D0*AZ) ELSE TANEL = SINEL/COSEL FUNPNL=-A( 2) $ - EL+ $ ASIN(MAX(-1D0,MIN(1D0,SINEL/SQRT(1D0-A(3)**2)))) $ +A( 4)*SINAZ $ +A( 5)*COSAZ $ +A( 7)/TANEL $ +A( 8)/TANEL**3 $ -A( 9)*SINEL $ -A(10)*COSEL IF (KVAR.LE.12) RETURN FUNPNL = FUNPNL $ +A(15)*SIN(2.D0*EL) $ +A(16)*COS(2.D0*EL) ENDIF END