]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/peanut/xinneu.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / peanut / xinneu.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:22:04  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.46  by  S.Giani
11 *-- Author :
12 *$ CREATE XINNEU.FOR
13 *COPY XINNEU
14 *
15 *=== xinneu ===========================================================*
16 *
17       FUNCTION XINNEU ( E, ZTAR, BBETAA )
18  
19 #include "geant321/dblprc.inc"
20 #include "geant321/dimpar.inc"
21 #include "geant321/iounit.inc"
22 *
23 *----------------------------------------------------------------------*
24 *----------------------------------------------------------------------*
25 *
26 #include "geant321/isotop.inc"
27 #include "geant321/xsepar.inc"
28 *
29       IZ = NINT ( ZTAR )
30       EEE = 0.015D+00 * ( 1.D+00 + 1.D-04 * ZTAR * ZTAR )
31       TMPZZN = 2.D-01 * ZZNXSE (IZ)
32       EEE = MAX ( EEE, TMPZZN )
33       IF ( E .GT. 0.1D+00 ) THEN
34          ATAR = 0.D+00
35          DO 25 IS = ISONDX (1,IZ), ISONDX (2,IZ)
36              ATAR = ATAR +  ISOMNM (IS) * ABUISO (IS)
37    25    CONTINUE
38          EMEV = E * 1.D+03
39          XINNEU = SITSAO ( EMEV, IZ, ATAR )
40       ELSE IF ( E .LT. EEE ) THEN
41          X = 1.D+01 * EEE
42          XSENE1 = AANXSE (IZ) * ( X - ZZNXSE (IZ) ) / X * ( 1.D+00
43      &          + BBNXSE (IZ) * X / ( 1.D+00 + (CCNXSE(IZ)*X)**2 )
44      &          + DDNXSE (IZ) * X * X / ( 1.D+00 + (EENXSE(IZ)*X)**4 ))
45          BBCOFF = XSENE1 / ( 1.D+00 + BBETAA / EEE )
46          AACOFF = BBCOFF * BBETAA
47          XINNEU = AACOFF / E + BBCOFF
48       ELSE IF ( E .GT. 0.012D+00 ) THEN
49          X  = 1.D+01 * E
50          XINNEU = AANXSE (IZ) * ( X - ZZNXSE (IZ) ) / X * ( 1.D+00
51      &          + BBNXSE (IZ) * X / ( 1.D+00 + (CCNXSE(IZ)*X)**2 )
52      &          + DDNXSE (IZ) * X * X / ( 1.D+00 + (EENXSE(IZ)*X)**4 ))
53       ELSE
54          XINNEU = 0.D+00
55       END IF
56       XINNEU = MAX ( XINNEU, ZERZER )
57 *=== End of function xinneu ===========================================*
58       RETURN
59       END