Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pywaux.f
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pywaux.f
1 
2 C***********************************************************************
3 
4 C...PYWAUX
5 C...Calculates real and imaginary parts of the auxiliary functions W1
6 C...and W2; see R. K. Ellis, I. Hinchliffe, M. Soldate and J. J. van
7 C...der Bij, Nucl. Phys. B297 (1988) 221.
8 
9  SUBROUTINE pywaux(IAUX,EPS,WRE,WIM)
10 
11 C...Double precision and integer declarations.
12  IMPLICIT DOUBLE PRECISION(a-h, o-z)
13  IMPLICIT INTEGER(i-n)
14  INTEGER pyk,pychge,pycomp
15 C...Commonblocks.
16  common/pydat1/mstu(200),paru(200),mstj(200),parj(200)
17  SAVE /pydat1/
18 
19  asinh(x)=log(x+sqrt(x**2+1d0))
20  acosh(x)=log(x+sqrt(x**2-1d0))
21 
22  IF(eps.LT.0d0) THEN
23  IF(iaux.EQ.1) wre=2d0*sqrt(1d0-eps)*asinh(sqrt(-1d0/eps))
24  IF(iaux.EQ.2) wre=4d0*(asinh(sqrt(-1d0/eps)))**2
25  wim=0d0
26  ELSEIF(eps.LT.1d0) THEN
27  IF(iaux.EQ.1) wre=2d0*sqrt(1d0-eps)*acosh(sqrt(1d0/eps))
28  IF(iaux.EQ.2) wre=4d0*(acosh(sqrt(1d0/eps)))**2-paru(1)**2
29  IF(iaux.EQ.1) wim=-paru(1)*sqrt(1d0-eps)
30  IF(iaux.EQ.2) wim=-4d0*paru(1)*acosh(sqrt(1d0/eps))
31  ELSE
32  IF(iaux.EQ.1) wre=2d0*sqrt(eps-1d0)*asin(sqrt(1d0/eps))
33  IF(iaux.EQ.2) wre=-4d0*(asin(sqrt(1d0/eps)))**2
34  wim=0d0
35  ENDIF
36 
37  RETURN
38  END