]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/jimmy/jimmy/dfun.F
Add AliMUONRawStream class
[u/mrichter/AliRoot.git] / HERWIG / jimmy / jimmy / dfun.F
1       DOUBLE PRECISION FUNCTION DFUN( N, xy )
2 C ----------------------------------------------------------------------------
3 C           Top level function call: integrated by DIVON4.
4 C           What function is actually called depends upon the value of
5 C           FN_TYPE in the JMFLAG common block.
6 C
7 C           3 = Eikonalising gamma-p xsec
8 C           4 = Calculating xsec for there being N (& only N) scatters.
9 C         101 = Calculating the total (uneikonalised) xsec.
10 C ----------------------------------------------------------------------------
11
12       IMPLICIT NONE
13
14 #include "jimmy.inc"
15
16
17       INTEGER N,i
18       DOUBLE PRECISION XY(N)
19       DOUBLE PRECISION JMKERN, EIKFUN, JMSNFN
20
21       IF (FN_TYPE.EQ.101) THEN
22
23 C --    Uneikonalised cross section
24         DFUN = JMKERN(N,XY)
25
26       ELSE IF (FN_TYPE.EQ.3) THEN
27
28 C --    Eikonalising total xsec
29         DFUN = EIKFUN(N,XY)
30
31       ELSE IF (FN_TYPE.EQ.4) THEN
32
33 C --    Calculating xsec for N scatters
34         DFUN = JMSNFN(N,XY)
35
36       ELSE
37
38 C --    Illegal call.
39         WRITE (JMOUT,*) 'DFUN:Illegal value of FN_TYPE!'
40         STOP
41
42       ENDIF
43
44       RETURN
45       END