Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:20

0001  
0002 C***********************************************************************
0003  
0004 C...PYWAUX
0005 C...Calculates real and imaginary parts of the auxiliary functions W1
0006 C...and W2; see R. K. Ellis, I. Hinchliffe, M. Soldate and J. J. van
0007 C...der Bij, Nucl. Phys. B297 (1988) 221.
0008  
0009       SUBROUTINE PYWAUX(IAUX,EPS,WRE,WIM)
0010  
0011 C...Double precision and integer declarations.
0012       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0013       IMPLICIT INTEGER(I-N)
0014       INTEGER PYK,PYCHGE,PYCOMP
0015 C...Commonblocks.
0016       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0017       SAVE /PYDAT1/
0018  
0019       ASINH(X)=LOG(X+SQRT(X**2+1D0))
0020       ACOSH(X)=LOG(X+SQRT(X**2-1D0))
0021  
0022       IF(EPS.LT.0D0) THEN
0023         IF(IAUX.EQ.1) WRE=2D0*SQRT(1D0-EPS)*ASINH(SQRT(-1D0/EPS))
0024         IF(IAUX.EQ.2) WRE=4D0*(ASINH(SQRT(-1D0/EPS)))**2
0025         WIM=0D0
0026       ELSEIF(EPS.LT.1D0) THEN
0027         IF(IAUX.EQ.1) WRE=2D0*SQRT(1D0-EPS)*ACOSH(SQRT(1D0/EPS))
0028         IF(IAUX.EQ.2) WRE=4D0*(ACOSH(SQRT(1D0/EPS)))**2-PARU(1)**2
0029         IF(IAUX.EQ.1) WIM=-PARU(1)*SQRT(1D0-EPS)
0030         IF(IAUX.EQ.2) WIM=-4D0*PARU(1)*ACOSH(SQRT(1D0/EPS))
0031       ELSE
0032         IF(IAUX.EQ.1) WRE=2D0*SQRT(EPS-1D0)*ASIN(SQRT(1D0/EPS))
0033         IF(IAUX.EQ.2) WRE=-4D0*(ASIN(SQRT(1D0/EPS)))**2
0034         WIM=0D0
0035       ENDIF
0036  
0037       RETURN
0038       END