*
* $Id$
*
* $Log$
* Revision 1.1  1995/10/24 10:20:58  cernlib
* Initial revision
*
*
#include "geant321/pilot.h"
*CMZ :  3.21/02 29/03/94  15.41.38  by  S.Giani
*-- Author :
      SUBROUTINE STEEQ(XXH,IPV)
C
C *** CORRECTIONS FOR SINGLE PARTICLE SPECTRA (SHOWER PARTICLES) ***
C *** NVE 16-MAR-1988 CERN GENEVA
C
C ORIGIN : H.FESEFELDT (06-SEP-1985)
C
#include "geant321/mxgkgh.inc"
#include "geant321/s_curpar.inc"
#include "geant321/s_blank.inc"
#include "geant321/s_result.inc"
C
      DIMENSION ALEM(7),VAL0(7)
      DIMENSION RNDM(1)
C**   DATA   EM/ 4.0 , 10.  , 15.  , 20.  ,  30. , 100. , 1000./
      DATA ALEM/ 1.40, 2.30 , 2.70 , 3.00 , 3.40 , 4.60 , 7.00 /
      DATA VAL0/ 0.00, 0.40 , 0.48 , 0.51 , 0.54 , 0.60 , 0.65 /
C
      XXH=1.
C
      IF ((IPART .NE. 7) .AND. (IPART .NE. 9)) GO TO 9999
      IF (ABS(IPA(IPV)) .NE. 8) GO TO 9999
      CALL GRNDM(RNDM,1)
      IF (RNDM(1) .GT. LOG(ATNO2)) GO TO 9999
      EKW=PV(4,MXGKPV)-ABS(PV(5,MXGKPV))
      ALEKW=LOG(EKW)
      IF (ALEKW .LE. ALEM(1)) GO TO 9999
C
C --- GET ENERGY BIN ---
      DO 1 I=2,7
      IF (ALEKW .LT. ALEM(I)) GO TO 2
 1    CONTINUE
      XXH=VAL0(7)
      GO TO 3
C
C *** USE LINEAR INTERPOLATION OR EXTRAPOLATION BY Y=RC*X+B ***
 2    CONTINUE
      I1=I-1
      I2=I
      DXNVE=ALEM(I2)-ALEM(I1)
      DYNVE=VAL0(I2)-VAL0(I1)
      RCNVE=DYNVE/DXNVE
      BNVE=VAL0(I1)-RCNVE*ALEM(I1)
      XXH=RCNVE*ALEKW+BNVE
C
 3    CONTINUE
      XXH=1.-XXH
C
 9999 CONTINUE
      RETURN
      END
