SUBROUTINE ZRIP1(ORDER,CARPOS,RATIO,N,BETA,DELTA,R0,X) * * Module number: 13.12.1 * * Module name: ZRIP * * Keyphrase: * ---------- * HRS echelle ripple * Description: * ------------ * This routine normalizes the maximum of the echelle ripple * function by dividing the profile by: * cos(theta+beta+delta)/cos(theta+beta-delta) * where: * theta = (r0 - carpos)/182.0444 - beta * * It computes the value, X, for the sinc term by * * order*pi*cos(theta+beta+delta)*sin(theta) * X = ----------------------------------------- * sin(theta+beta) * * FORTRAN name: zrip1.for * * Keywords of accessed files and tables: * -------------------------------------- * none * * Subroutines Called: * ------------------- * none * * History: * -------- * Version Date Author Description * 1 Sept 87 D. Lindler Designed and coded *------------------------------------------------------------------------------- C C INPUT PARAMETERS C C ORDER - VECTOR OF ORDER NUMBERS (INTEGER) C CARPOS - VECTOR OF CARROUSEL POSITIONS (INTEGER) C RATIO - VECTOR WITH RAW RIPPLE PROFILE (REAL*8) C N - NUMBER OF ELEMENTS IN INPUT VECTORS (INTEGER) C BETA - BLAZE ANGLE (REAL*8) C DELTA - HALF/ANGLE BETWEEN COLLIMATOR AND CROSS-DISPERSER (REAL*8) C R0 - CARROUSEL POSITION OF ZERO GRATING ANGLE (INTEGER) C C OUTPUT PARAMETERS C C RATIO - NORMALIZED RATIO VECTOR (REAL*8) C X - X - VECTOR (REAL*8) C C---------------------------------------------------------------------------- DOUBLE PRECISION RATIO(1),X(1),BETA,DELTA INTEGER ORDER(1),CARPOS(1),N,R0 C C LOCAL VARIABLES C INTEGER I DOUBLE PRECISION NORM,DENOM,RADEG,THETA C C DATA DECLARATIONS C DATA RADEG/57.2957901819/ C C CONVERT TO RADIANS C BETA=BETA/RADEG DELTA=DELTA/RADEG C C C LOOP ON ELEMENTS IN VECTORS C DO 100 I=1,N THETA=(R0-CARPOS(I))/182.0444/RADEG - BETA DENOM = DCOS(THETA+BETA-DELTA) IF(DENOM.EQ.0) THEN NORM=1.0 ELSE NORM=DCOS(THETA+BETA+DELTA)/DENOM ENDIF IF(NORM.EQ.0.0)NORM=1.0 RATIO(I)=RATIO(I)/NORM DENOM=DSIN(THETA+BETA) IF(DENOM.EQ.0.0) THEN X(I)=0.0 ELSE X(I)=3.14159*ORDER(I)*DCOS(THETA+BETA+DELTA)* * DSIN(THETA)/DENOM ENDIF 100 CONTINUE RETURN END