X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=HERWIG%2Fjimmy%2Fjimmy%2Fjmarea.F;fp=HERWIG%2Fjimmy%2Fjimmy%2Fjmarea.F;h=c50bf7e86f92c99a5ed79957995f388d060137ba;hp=0000000000000000000000000000000000000000;hb=ef94df367b991ca790f9d51da7f31bd7560e2cbe;hpb=657679557603e320230da5df469d688018515c79 diff --git a/HERWIG/jimmy/jimmy/jmarea.F b/HERWIG/jimmy/jimmy/jmarea.F new file mode 100644 index 00000000000..c50bf7e86f9 --- /dev/null +++ b/HERWIG/jimmy/jimmy/jmarea.F @@ -0,0 +1,59 @@ + DOUBLE PRECISION FUNCTION JMAREA( B2 ) +c ---------------------------------------------------------------------- +c Purpose: Returns area overlap A(B) +c Mods: 20-Aug-1993 JMB. Allow use of CERNLIB. +c Mods: 27-Jan-1995 RW. Allow e+e- (not NAGLIB!) +c ---------------------------------------------------------------------- + +#include "herwig65.inc" +#include "jimmy.inc" + + INTEGER NPHOTONS + DOUBLE PRECISION B2,AREA + DOUBLE PRECISION JMDBESK0, JMDBESK1, BESSEL(0:3) + DOUBLE PRECISION X1, X2 + + IF (B2.LE.0.D0) THEN + IF (JMBUG.GT.11) WRITE(JMOUT,*)'**** JMAREA:B2=',B2 + JMAREA = 0.D0 + RETURN + ENDIF + X1=(JMV2*B2)**.5 + X2=(JMU2*B2)**.5 + + NPHOTONS=0 + IF ((ABS(IDPDG(IPART1)).EQ.11).OR.(ABS(IDPDG(IPART1)).EQ.22)) + $ NPHOTONS=NPHOTONS+1 + IF ((ABS(IDPDG(IPART2)).EQ.11).OR.(ABS(IDPDG(IPART2)).EQ.22)) + $ NPHOTONS=NPHOTONS+1 + + IF (NPHOTONS.EQ.1) THEN +C `ep' type run +C Modified Bessel function K0 + AREA = JMDBESK0(X1) + AREA = (AREA-JMDBESK0(X2))*JMU2/(JMU2-JMV2) + +C Modified Bessel function K1 + AREA=(AREA-X2/TWO*JMDBESK1(X2))*JMU2*JMV2/(JMU2-JMV2)/ + & (TWO*PIFAC) + + ELSE IF (NPHOTONS.EQ.2) THEN + +C `e+e-' type run. +C Modified Bessel function K1 + AREA = JMV2*X1*JMDBESK1(X1)/(4.D0*PIFAC) + + + ELSE IF (NPHOTONS.EQ.0) THEN + +C `pp' type run. +C Modified Bessel function K3 + CALL JMDBSKA(X2,0,1,3,BESSEL) + AREA = JMU2/96/PIFAC*(X2**3)*BESSEL(3) + + ENDIF + + JMAREA = AREA + + RETURN + END