This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / fluka / nizlnw.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:04  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.44  by  S.Giani
11 *-- Author :
12 *$ CREATE NIZLNW.FOR
13 *COPY NIZLNW
14 *                                                                      *
15 *=== nizlnw ===========================================================*
16 *                                                                      *
17       SUBROUTINE NIZLNW ( IT, ZZZ, AAA, EKE, PO, SI, ZL )
18  
19 #include "geant321/dblprc.inc"
20 #include "geant321/dimpar.inc"
21 #include "geant321/iounit.inc"
22 C
23 #include "geant321/paprop.inc"
24 C
25       PARAMETER ( AVOGMB = 1.0D+27 / AVOGAD )
26 C
27       DIMENSION ITT (39)
28       SAVE ITT
29       DATA ITT/   1,   7,   0,   0,   0,   0,   0,   2,   8,   0,   0,
30 *              Klong pi+  pi-   K+   K- Lam  Alam Kshrt Sig- Sig+ Sig0
31      &           10,   3,   4,   6,   5,   2,   8,  10,   2,   1,   2,
32 *               pi0   K0  AK0  pi0  res. res. res. res. Asi- Asi0 Asi+
33      &            3,  10,   9,   3,   0,   0,   0,   0,   8,   8,   7,
34 *                X0  Ax0   X-  AX-  Om- Aom+
35      &            2,   8,   2,   8,   2,   8 /
36 *
37       SI = AZRZRZ
38       ZL = AINFNT
39 C
40 C     CALCULATE THE NEW PARTICLE NUMBER IIT:   1=P,2=N,3=PI+,4=PI-,
41 C     5=K-,6=K+,7=P BAR,8=N BAR,9=K ZERO BAR,10=K ZERO
42 C
43       IIT = ITT (IT)
44       IF ( IIT .LE. 0 ) RETURN
45 *  Check the kinetic energy: no interaction below 50 MeV at present
46       IF ( IIT .LE. 2 .AND. EKE .LT. 0.400D+00 .AND. AAA .GT. 1.5D+00 )
47      &   THEN
48          IF ( IIT .EQ. 1 ) THEN
49             SI = XSEPRO ( EKE, ZZZ, AAA )
50          ELSE
51             SI = XSENEU ( EKE, ZZZ, AAA )
52          END IF
53          IF ( EKE .GT. 0.200D+00 ) THEN
54             CALL NIZL ( IT, AAA, EKE, PO, SI2, ZL2 )
55             WEIGH1 = ( 0.400D+00 - EKE ) / 0.200D+00
56             SI = WEIGH1 * SI + ( 1.D+00 - WEIGH1 ) * SI2
57          END IF
58          IF ( SI .GT. 0.D+00 ) THEN
59             ZL = AVOGMB * AAA / SI
60          ELSE
61             SI = 0.D+00
62             ZL = AINFNT
63          END IF
64       ELSE
65          CALL NIZL ( IT, AAA, EKE, PO, SI, ZL )
66       END IF
67       RETURN
68       END