]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA/pythia/pyi3au.F
added copyright, updated class description
[u/mrichter/AliRoot.git] / PYTHIA / pythia / pyi3au.F
CommitLineData
fe4da5cc 1
2C***********************************************************************
3
4 SUBROUTINE PYI3AU(EPS,RAT,Y3RE,Y3IM)
5
6C...Calculates real and imaginary parts of the auxiliary function I3;
7C...see R. K. Ellis, I. Hinchliffe, M. Soldate and J. J. van der Bij,
8C...Nucl. Phys. B297 (1988) 221.
9 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
10 SAVE /LUDAT1/
11
12 BE=0.5*(1.+SQRT(1.+RAT*EPS))
13 IF(EPS.LT.1.) GA=0.5*(1.+SQRT(1.-EPS))
14
15 IF(EPS.LT.0.) THEN
16 IF(ABS(EPS).LT.1.E-4.AND.ABS(RAT*EPS).LT.1.E-4) THEN
17 F3RE=PYSPEN(-0.25*EPS/(1.+0.25*(RAT-1.)*EPS),0.,1)-
18 & PYSPEN((1.-0.25*EPS)/(1.+0.25*(RAT-1.)*EPS),0.,1)+
19 & PYSPEN(0.25*(RAT+1.)*EPS/(1.+0.25*RAT*EPS),0.,1)-
20 & PYSPEN((RAT+1.)/RAT,0.,1)+0.5*(LOG(1.+0.25*RAT*EPS)**2-
21 & LOG(0.25*RAT*EPS)**2)+LOG(1.-0.25*EPS)*
22 & LOG((1.+0.25*(RAT-1.)*EPS)/(1.+0.25*RAT*EPS))+
23 & LOG(-0.25*EPS)*LOG(0.25*RAT*EPS/(1.+0.25*(RAT-1.)*EPS))
24 ELSEIF(ABS(EPS).LT.1.E-4.AND.ABS(RAT*EPS).GE.1.E-4) THEN
25 F3RE=PYSPEN(-0.25*EPS/(BE-0.25*EPS),0.,1)-
26 & PYSPEN((1.-0.25*EPS)/(BE-0.25*EPS),0.,1)+
27 & PYSPEN((BE-1.+0.25*EPS)/BE,0.,1)-
28 & PYSPEN((BE-1.+0.25*EPS)/(BE-1.),0.,1)+
29 & 0.5*(LOG(BE)**2-LOG(BE-1.)**2)+
30 & LOG(1.-0.25*EPS)*LOG((BE-0.25*EPS)/BE)+
31 & LOG(-0.25*EPS)*LOG((BE-1.)/(BE-0.25*EPS))
32 ELSEIF(ABS(EPS).GE.1.E-4.AND.ABS(RAT*EPS).LT.1.E-4) THEN
33 F3RE=PYSPEN((GA-1.)/(GA+0.25*RAT*EPS),0.,1)-
34 & PYSPEN(GA/(GA+0.25*RAT*EPS),0.,1)+
35 & PYSPEN((1.+0.25*RAT*EPS-GA)/(1.+0.25*RAT*EPS),0.,1)-
36 & PYSPEN((1.+0.25*RAT*EPS-GA)/(0.25*RAT*EPS),0.,1)+
37 & 0.5*(LOG(1.+0.25*RAT*EPS)**2-LOG(0.25*RAT*EPS)**2)+
38 & LOG(GA)*LOG((GA+0.25*RAT*EPS)/(1.+0.25*RAT*EPS))+
39 & LOG(GA-1.)*LOG(0.25*RAT*EPS/(GA+0.25*RAT*EPS))
40 ELSE
41 F3RE=PYSPEN((GA-1.)/(GA+BE-1.),0.,1)-
42 & PYSPEN(GA/(GA+BE-1.),0.,1)+PYSPEN((BE-GA)/BE,0.,1)-
43 & PYSPEN((BE-GA)/(BE-1.),0.,1)+0.5*(LOG(BE)**2-LOG(BE-1.)**2)+
44 & LOG(GA)*LOG((GA+BE-1.)/BE)+LOG(GA-1.)*LOG((BE-1.)/(GA+BE-1.))
45 ENDIF
46 F3IM=0.
47 ELSEIF(EPS.LT.1.) THEN
48 IF(ABS(EPS).LT.1.E-4.AND.ABS(RAT*EPS).LT.1.E-4) THEN
49 F3RE=PYSPEN(-0.25*EPS/(1.+0.25*(RAT-1.)*EPS),0.,1)-
50 & PYSPEN((1.-0.25*EPS)/(1.+0.25*(RAT-1.)*EPS),0.,1)+
51 & PYSPEN((1.-0.25*EPS)/(-0.25*(RAT+1.)*EPS),0.,1)-
52 & PYSPEN(1./(RAT+1.),0.,1)+LOG((1.-0.25*EPS)/(0.25*EPS))*
53 & LOG((1.+0.25*(RAT-1.)*EPS)/(0.25*(RAT+1.)*EPS))
54 F3IM=-PARU(1)*LOG((1.+0.25*(RAT-1.)*EPS)/(0.25*(RAT+1.)*EPS))
55 ELSEIF(ABS(EPS).LT.1.E-4.AND.ABS(RAT*EPS).GE.1.E-4) THEN
56 F3RE=PYSPEN(-0.25*EPS/(BE-0.25*EPS),0.,1)-
57 & PYSPEN((1.-0.25*EPS)/(BE-0.25*EPS),0.,1)+
58 & PYSPEN((1.-0.25*EPS)/(1.-0.25*EPS-BE),0.,1)-
59 & PYSPEN(-0.25*EPS/(1.-0.25*EPS-BE),0.,1)+
60 & LOG((1.-0.25*EPS)/(0.25*EPS))*
61 & LOG((BE-0.25*EPS)/(BE-1.+0.25*EPS))
62 F3IM=-PARU(1)*LOG((BE-0.25*EPS)/(BE-1.+0.25*EPS))
63 ELSEIF(ABS(EPS).GE.1.E-4.AND.ABS(RAT*EPS).LT.1.E-4) THEN
64 F3RE=PYSPEN((GA-1.)/(GA+0.25*RAT*EPS),0.,1)-
65 & PYSPEN(GA/(GA+0.25*RAT*EPS),0.,1)+
66 & PYSPEN(GA/(GA-1.-0.25*RAT*EPS),0.,1)-
67 & PYSPEN((GA-1.)/(GA-1.-0.25*RAT*EPS),0.,1)+
68 & LOG(GA/(1.-GA))*LOG((GA+0.25*RAT*EPS)/(1.+0.25*RAT*EPS-GA))
69 F3IM=-PARU(1)*LOG((GA+0.25*RAT*EPS)/(1.+0.25*RAT*EPS-GA))
70 ELSE
71 F3RE=PYSPEN((GA-1.)/(GA+BE-1.),0.,1)-
72 & PYSPEN(GA/(GA+BE-1.),0.,1)+PYSPEN(GA/(GA-BE),0.,1)-
73 & PYSPEN((GA-1.)/(GA-BE),0.,1)+LOG(GA/(1.-GA))*
74 & LOG((GA+BE-1.)/(BE-GA))
75 F3IM=-PARU(1)*LOG((GA+BE-1.)/(BE-GA))
76 ENDIF
77 ELSE
78 RSQ=EPS/(EPS-1.+(2.*BE-1.)**2)
79 RCTHE=RSQ*(1.-2.*BE/EPS)
80 RSTHE=SQRT(MAX(0.,RSQ-RCTHE**2))
81 RCPHI=RSQ*(1.+2.*(BE-1.)/EPS)
82 RSPHI=SQRT(MAX(0.,RSQ-RCPHI**2))
83 R=SQRT(RSQ)
84 THE=ACOS(MAX(-0.999999,MIN(0.999999,RCTHE/R)))
85 PHI=ACOS(MAX(-0.999999,MIN(0.999999,RCPHI/R)))
86 F3RE=PYSPEN(RCTHE,RSTHE,1)+PYSPEN(RCTHE,-RSTHE,1)-
87 & PYSPEN(RCPHI,RSPHI,1)-PYSPEN(RCPHI,-RSPHI,1)+
88 & (PHI-THE)*(PHI+THE-PARU(1))
89 F3IM=PYSPEN(RCTHE,RSTHE,2)+PYSPEN(RCTHE,-RSTHE,2)-
90 & PYSPEN(RCPHI,RSPHI,2)-PYSPEN(RCPHI,-RSPHI,2)
91 ENDIF
92
93 Y3RE=2./(2.*BE-1.)*F3RE
94 Y3IM=2./(2.*BE-1.)*F3IM
95
96 RETURN
97 END