C
C     INCLUDE 'crtpfa.inc'
C     ------------------------------------------------------------------
C Common block /PFPTS/ to store quantities in points on a ray:
      INTEGER MPTS
      PARAMETER (MPTS=50)
      INTEGER NPTS,IFIND(MPTS),IFICB(MPTS),IFISRF(MPTS)
      REAL RFTT(0:MPTS),RFCOOR(3,MPTS),RFSLO1(MPTS),RFSLO2(MPTS),
     *  RFSLO3(MPTS),RFPOL1(MPTS),RFPOL2(MPTS),RFPOL3(MPTS),
     *  RFVS(MPTS),RFVS1(MPTS),RFVS2(MPTS),RFVS3(MPTS),RFQMAT(4,MPTS),
     *  RFPMAT(4,MPTS),RFH(18,MPTS),RFGS1(MPTS),RFGS2(MPTS),
     *  RFGP(MPTS),RFEVEC(9,0:MPTS),
     *  RFES1P(2,MPTS),RFES2P(2,MPTS),RFANGL(MPTS),RFTINT(MPTS)
      COMMON/PFPTS/ NPTS,IFIND,IFICB,IFISRF,
     *  RFTT,RFCOOR,RFSLO1,RFSLO2,RFSLO3,RFPOL1,RFPOL2,RFPOL3,
     *  RFVS,RFVS1,RFVS2,RFVS3,RFQMAT,RFPMAT,RFH,RFGS1,RFGS2,RFGP,
     *  RFEVEC,RFES1P,RFES2P,RFANGL,RFTINT
      SAVE /PFPTS/
C     ------------------------------------------------------------------
C                                                    
C     Quantities in points on a ray:
C
C     IFIND(I)... Index of the I-th point, zero for points added to the
C             ray by interpolation.
C     IFICB(I)... Index of complex block.
C     IFISRF(I)... Index of surface, zero inside a complex block.
C     RFTT(I)...  Travel time in I-th point.
C       RFTT(0)...Travel time in the initial point of the ray.
C     RFCOOR(1-3,I)... Coordinates of the point.
C     RFSLO1(I),RFSLO2(I),RFSLO3(I)... Slowness vector in the point.
C     RFPOL1(I),RFPOL2(I),RFPOL3(I)... Polarization vector in the point.
C     RFVS(I)... S-wave velocity.
C     RFVS1(I),RFVS2(I),RFVS3(I)... Derivatives of the velocity.
C     RFQMAT(1-4,I)... Matrix of geometrical spreading.
C     RFPMAT(1-4,I)... Transformation matrix P.
C     RFH(1-18,I)... Covariant and contravariant components of the basis
C             vectors of the ray-centred coordinate system.
C     RFGP(I)... Eigenvalue of Christoffel matrix in I-th point
C             corresponding to qP wave.
C     RFGS1(I)... Eigenvalue of Christoffel matrix in I-th point
C             corresponding to qS1 (faster) wave.
C     RFGS2(I)... Eigenvalue of Christoffel matrix in I-th point
C             corresponding to qS2 (slower) wave.
C     RFEVEC(1-3,I)... Eigenvector of Christoffel matrix in I-th point
C             corresponding to qS1 (faster) wave.
C     RFEVEC(4-6,I)... Eigenvector of Christoffel matrix in I-th point
C             corresponding to qS2 (slower) wave.
C     RFEVEC(7-9,I)... Eigenvector of Christoffel matrix in I-th point
C             corresponding to qP wave.
C       RFEVEC(*,0)... Eigenvectors in the initial point of the ray.
C     RFES1P(1-2,I),RFES2P(1-2,I)... Eigenvectors projected to the plane
C             defined by polarization vectors.
C     RFANGL(I)... Angular difference of eigenvectors of Christoffel
C             matrix corresponding to qS1 wave in I-th and
C             in (I-1)-st point.
C     RFTINT(I)... Time integral of the difference between qS1 and
C             qS2 eigenvalues along the ray from the (I-1)-st
C             to the I-th point.
C
C ----------------------------------------------------------------------
C
C Common block /PFSEP/ to store the input SEP parameters:
      REAL CRTANI,SINGLF,ERRWAN
      INTEGER KQIRAY
      COMMON/PFSEP/CRTANI,KQIRAY,SINGLF,ERRWAN
      SAVE /PFSEP/
C     CRTANI..Switch between isotropic and anisotropic ray tracing.
C     KQIRAY..Switch to second-order perturbations of travel times.
C     SINGLF..Frequency of the prevailing-frequency approximation.
C     ERRWAN..Maximum error in propagator matrix along whole ray.
C
C Date: 2014, June 18
C Coded by Petr Bulant
C
C=======================================================================
C