C   16/02/75 C7103101   MEMBER NAME  MULTSC   (SOURCE)      FORTRAN
      SUBROUTINE MULTSC(X1,P1,XRAD)
      DIMENSION X1(3),X2(3),X3(3)
      DATA PI/3.14159/
C
C      CALCULATE MULTIPLE SCATTERING
C      X1 = DIRECTIONAL COS FOR INCIDENT PARTICLE
C           THIS VECTOR IS OVERWRITTEN UPON RETURN WITH THE UNIT VECTOR
C           AFTER MULTIPLE SCATTERING
C      P1 = MOMENTUM OF INCIDENT PARTICLE IN GEV/C
C      XRAD = RADIATORTHICKNESS IN RADIATION LENGTHS
C
      IF(XRAD.LT.1.E-30) RETURN
      CTH=X1(3)
      IF(ABS(CTH).LT.1.E-30) GO TO 1
      STH=SQRT(1.-CTH*CTH)
      IF(STH.LT.1.E-30) GO TO 2
      SPHI=X1(2)/STH
      CPHI=X1(1)/STH
      X2(1)=SPHI
      X2(2)=-CPHI
      X2(3)=0.
      X3(1)=CPHI*CTH
      X3(2)=SPHI*CTH
      X3(3)=-STH
      GO TO 3
    1 X2(1)=X1(2)
      X2(2)=-X1(1)
      X2(3)=0.
      X3(1)=0.
      X3(2)=0.
      X3(3)=-1.
      GO TO 3
    2 X2(1)=0.
      X2(2)=-1.
      X2(3)=0.
      X3(1)=1.
      X3(2)=0.
      X3(3)=0.
    3 THSTR=15./P1*SQRT(XRAD)*1.E-03
      CALL NVERT(THSTR,0.,TH1)
      PHI=2.*PI*RN(D)
      PABS=0.
      DO 4 I=1,3
      X1(I)=X1(I)+TH1*COS(PHI)*X2(I)+TH1*SIN(PHI)*X3(I)
    4 PABS=PABS+X1(I)**2
      PABS=SQRT(PABS)
      DO 5 I=1,3
    5 X1(I)=X1(I)/PABS
      RETURN
      END
