SUBROUTINE cmc_POSMP(H,A,V,O,PN,E1,E2) C************************************************************* C--> THIS SUBROUTINE FINDS THE POINT AT WHICH THE LINE DEFINED C BY A AND V (A=POINT; V=DIRECTION) INTERSECTS THE PLANE C DEFINED BY O AND PN ( (Q-O) DOT PN = 0 FOR ALL Q IN THE PLANE) C IT THEN PROJECTS ONTO THE UNIT VECTORS E1 AND E2. C C--> IN OTHER WORDS, GIVEN A POSITION AND DIRECTION AT A KNOWN Z, C THIS SUBROUTINE CALCULATES XM,YM - X,Y IN THE MIRROR PLANE C************************************************************* SAVE DIMENSION H(3),A(3),V(3),O(3),E1(3),E2(3),PN(3) OA1=O(1)-A(1) OA2=O(2)-A(2) OA3=O(3)-A(3) AL=(OA1*PN(1)+OA2*PN(2)+OA3*PN(3)) AL=AL/(V(1)*PN(1)+V(2)*PN(2)+V(3)*PN(3)) H(1)=-OA1+AL*V(1) H(2)=-OA2+AL*V(2) H(3)=-OA3+AL*V(3) H(1)=H(1)*E1(1)+H(2)*E1(2)+H(3)*E1(3) H(2)=H(1)*E2(1)+H(2)*E2(2)+H(3)*E2(3) H(3)=0. RETURN END