1 DOUBLE PRECISION FUNCTION JMAREA( B2 )
2 c ----------------------------------------------------------------------
3 c Purpose: Returns area overlap A(B)
4 c Mods: 20-Aug-1993 JMB. Allow use of CERNLIB.
5 c Mods: 27-Jan-1995 RW. Allow e+e- (not NAGLIB!)
6 c ----------------------------------------------------------------------
8 #include "herwig65.inc"
12 DOUBLE PRECISION B2,AREA
13 DOUBLE PRECISION JMDBESK0, JMDBESK1, BESSEL(0:3)
14 DOUBLE PRECISION X1, X2
17 IF (JMBUG.GT.11) WRITE(JMOUT,*)'**** JMAREA:B2=',B2
25 IF ((ABS(IDPDG(IPART1)).EQ.11).OR.(ABS(IDPDG(IPART1)).EQ.22))
27 IF ((ABS(IDPDG(IPART2)).EQ.11).OR.(ABS(IDPDG(IPART2)).EQ.22))
30 IF (NPHOTONS.EQ.1) THEN
32 C Modified Bessel function K0
34 AREA = (AREA-JMDBESK0(X2))*JMU2/(JMU2-JMV2)
36 C Modified Bessel function K1
37 AREA=(AREA-X2/TWO*JMDBESK1(X2))*JMU2*JMV2/(JMU2-JMV2)/
40 ELSE IF (NPHOTONS.EQ.2) THEN
43 C Modified Bessel function K1
44 AREA = JMV2*X1*JMDBESK1(X1)/(4.D0*PIFAC)
47 ELSE IF (NPHOTONS.EQ.0) THEN
50 C Modified Bessel function K3
51 CALL JMDBSKA(X2,0,1,3,BESSEL)
52 AREA = JMU2/96/PIFAC*(X2**3)*BESSEL(3)