]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/fluka/zeroin.F
Open flukaaf.dat in the ALICE root
[u/mrichter/AliRoot.git] / GEANT321 / fluka / zeroin.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 #if defined(CERNLIB_OLDNAME)
11 *CMZ :  3.21/02 29/03/94  15.41.44  by  S.Giani
12 *-- Author :
13 *=== zeroin ===========================================================*
14 *
15       SUBROUTINE ZEROIN
16  
17 #include "geant321/dblprc.inc"
18 #include "geant321/dimpar.inc"
19 #include "geant321/iounit.inc"
20 *
21 *======================================================================*
22 *                                                                      *
23 *     Created by Alfredo Ferrari on 11 july 1990   INFN - Milan        *
24 *                                                                      *
25 *     Last change  on    23-apr-93  by  Alfredo Ferrari                *
26 *                                                                      *
27 *     This routine zeroes a few arrays, and initialize some data       *
28 *                                                                      *
29 *======================================================================*
30 *
31 #include "geant321/paprop.inc"
32 #include "geant321/part2.inc"
33 *
34 *  +-------------------------------------------------------------------*
35 *  |               Set the "effective" masses for particles
36       DO 8000 I = 1, IDMAX8
37 *  |  +----------------------------------------------------------------*
38 *  |  |            Baryons: "effective" mass = actual one - baryon
39 *  |  |                      number x proton mass (final state of any
40 *  |  |                      baryon)
41          IF ( IIBAR (I) .GT. 0 ) THEN
42             AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1)
43 *  |  |
44 *  |  +----------------------------------------------------------------*
45 *  |  |            Antibaryons: "effective mass" = actual mass +
46 *  |  |                          |baryon number| x proton mass
47          ELSE IF ( IIBAR (I) .LT. 0 ) THEN
48             AAMDSC (I) = AAM (I) - IIBAR (I) * AAM (1)
49 *  |  |
50 *  |  +----------------------------------------------------------------*
51 *  |  |            Mesons: "effective" mass = actual mass
52          ELSE
53             AAMDSC (I) = AAM (I)
54          END IF
55 *  |  |
56 *  |  +----------------------------------------------------------------*
57  8000 CONTINUE
58 *  |
59 *  +-------------------------------------------------------------------*
60 *    Electron: "effective" mass = 0
61       AAMDSC (3) = ZERZER
62 *    Positron: "effective" mass = 2 x mass
63       AAMDSC (4) = 2.D+00 * AAM (4)
64 *    Neutron: "effective" mass = 0 (it should be taken into account the
65 *                         neutrino energy when decaying)
66       AAMDSC (8) = ZERZER
67 *    Muon+: "effective" mass = muon mass + positron mass
68       AAMDSC (10) = AAM (10) + AAM (4)
69 *    Muon-: "effective" mass = muon mass - electron mass
70 *           (final stable state)
71       AAMDSC (11) = AAM (11) - AAM (3)
72 *    Tau+: "effective" mass = Tau mass + positron mass
73       AAMDSC (131) = AAM (131) + AAM (4)
74 *    Tau-: "effective" mass = Tau mass - electron mass
75 *           (final stable state)
76       AAMDSC (132) = AAM (132) - AAM (3)
77 *  +-------------------------------------------------------------------*
78 *  |               Set the "effective" masses for particles in Paprop
79       DO 8500 I = 1, NALLWP
80          KP = IPTOKP (I)
81 *  |  +----------------------------------------------------------------*
82 *  |  |
83          IF ( KP .GT. 0 ) THEN
84             AMDISC (I) = AAMDSC (KP)
85             AM     (I) = AAM  (KP)
86             ICHRGE (I) = IICH (KP)
87             THALF  (I) = TAU  (KP)
88 *  |  |
89 *  |  +----------------------------------------------------------------*
90 *  |  |
91          ELSE IF ( I .NE. 30 ) THEN
92             AMDISC (I) = ZERZER
93             AM     (I) = ZERZER
94             ICHRGE (I) = 0
95             THALF  (I) = ZERZER
96 *  |  |
97 *  |  +----------------------------------------------------------------*
98 *  |  |
99          ELSE
100             AMDISC (I) = AAMDSC (1)
101             AM     (I) = AAM  (1)
102             ICHRGE (I) = IICH (1)
103             THALF  (I) = TAU  (1)
104          END IF
105 *  |  |
106 *  |  +----------------------------------------------------------------*
107 *  |  +----------------------------------------------------------------*
108 *  |  |   Set the particle spin (in 1/2 units)
109 *  |  |   If the particle is a hadron :
110 *  |  |            mesons         --> 0 spin
111 *  |  |       baryons,antibaryons --> 1/2 spin
112 *  |  |   otherwise :
113 *  |  |       e-/+,mu-/+,vu,vubar --> 1/2 spin
114 *  |  |             photons       --> 1 spin
115          IF ( LHADRO (I) .AND. IIBAR (KP) .EQ. 0 ) THEN
116             JSPINP (I) = 0
117 *  |  |
118 *  |  +----------------------------------------------------------------*
119 *  |  |
120          ELSE
121             IF ( I .EQ. 7 ) THEN
122                JSPINP (I) = 2
123             ELSE
124                JSPINP (I) = 1
125             END IF
126          END IF
127 *  |  |
128 *  |  +----------------------------------------------------------------*
129  8500 CONTINUE
130 *  |
131 *  +-------------------------------------------------------------------*
132 *=== end of subroutine zeroin =========================================*
133       RETURN
134       END
135 #endif