This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / neutron / twobod.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:59  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/04 23/02/95  14.46.01  by  S.Giani
11 *-- Author :
12       SUBROUTINE TWOBOD(D,LD,KZ1,KZ2,A1,A2,Z1,Z2,ATAR,Q,MT)
13 C       THIS ROUTINE CALCULATES THE EXIT ENERGIES AND DIRECTIONAL
14 C       COSINES FOR THE CHARGED PARTICLE AND RECOIL NUCLEUS FOR
15 C       A TWO-BODY REACTION USING AN EVAPORATION SPECTRUM AND
16 C       MOMEMTUM BALANCE.  IT ALSO SETS ALL EXIT PARAMETERS FOR
17 C       THE COLLISION PRODUCTS AND STORES THEM IN THE RECOIL BANK.
18 #include "geant321/minput.inc"
19 #include "geant321/mconst.inc"
20 #include "geant321/mnutrn.inc"
21 #include "geant321/mrecoi.inc"
22 #include "geant321/mapoll.inc"
23 #include "geant321/mmass.inc"
24 #include "geant321/mpstor.inc"
25       DIMENSION D(*),LD(*)
26       SAVE
27       PRXO = 0.0
28       PRYO = 0.0
29       PRZO = 0.0
30 C loop over no. of emmitted particles CZ July 30,1992
31       NPN = 1
32       IF(MT.EQ.108) NPN = 2
33       IF(MT.EQ.109) NPN = 3
34       IF(MT.EQ.111) NPN = 2
35 C       CALCULATE THE COULOMB BARRIER (CB)
36       CALL BARIER(KZ1,KZ2,A1,A2,CB)
37 C       CALCULATE THE CHARGED PARTICLE EXIT ENERGY (EX)
38       CALL CEVAP(EOLD,Q,ATAR,CB,EX)
39       E1=EX+CB
40 C calculate the massnumber and mass of the residual nucleus
41       A2 = A2 - (NPN-1)*A1
42       Z2 = Z2 - (NPN-1)*Z1
43       IF(A2.LT.0.) A2 = 0.
44       IF(Z2.LT.0.) Z2 = 0.
45       IF(NPN.EQ.1) THEN
46 C for 1 final state particle the available kinetic energy is given
47 C by momentum and energy conservation
48         E1 = E1*Z2/(Z1+Z2)
49       ENDIF
50       DO 10  NP=1,NPN
51 C       ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE LABORATORY
52          CALL GTISO(U1,V1,W1)
53          IF(NPN.EQ.1) THEN
54 C only one final state particle -> use all the energy available
55            PPN = SQRT(2.0*Z1*E1)
56            EKN = E1
57          ELSE
58            IF(NP.LT.NPN) THEN
59              EKN = E1*FLTRNF(0)
60            ELSE
61              EKN = E1
62            ENDIF
63            E1 = E1 - EKN
64            PPN = SQRT(2.0*Z1*EKN)
65          ENDIF
66          PRXO = PRXO + U1*PPN
67          PRYO = PRYO + V1*PPN
68          PRZO = PRZO + W1*PPN
69 C       CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS
70          XR=X
71          YR=Y
72          ZR=Z
73          WATER=WTBC
74          NZR=KZ1
75          AGER=AGE
76          NCOLR=NCOL
77          MTNR=MT
78          AR=A1
79          ENIR=EOLD
80          UNIR=UOLD
81          VNIR=VOLD
82          WNIR=WOLD
83          ENOR=0.0
84          UNOR=0.0
85          VNOR=0.0
86          WNOR=0.0
87          WTNR=0.0
88          QR=Q
89          UR=U1
90          VR=V1
91          WR=W1
92          ER=EKN
93 C       STORE THE CHARGED PARTICLE IN THE RECOIL BANK
94          EP = ER
95          UP = UR
96          VP = VR
97          WP = WR
98          AMP = AR
99          ZMP = FLOAT(NZR)
100          AGEP = AGE
101          MTP = MT
102          CALL STOPAR(IDHEVY,NHEVY)
103    10 CONTINUE
104 C       CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION
105 C       NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM
106       PI=SQRT(2.0*ZN*EOLD)
107 C       CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS
108       PRX=PI*UOLD - PRXO
109       PRY=PI*VOLD - PRYO
110       PRZ=PI*WOLD - PRZO
111 C       CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS
112       PR=SQRT(PRX**2+PRY**2+PRZ**2)
113 C       CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES
114       U2=PRX/PR
115       V2=PRY/PR
116       W2=PRZ/PR
117 C       CALCULATE THE RECOIL NUCLEUS EXIT ENERGY
118       XM  = A2*931.075E6
119       E2 = SQRT(PR**2+XM**2) - XM
120 C       CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS
121       XR=X
122       YR=Y
123       ZR=Z
124       WATER=WTBC
125       NZR=KZ2
126       AGER=AGE
127       NCOLR=NCOL
128       MTNR=MT
129       AR=A2
130       ENIR=EOLD
131       UNIR=UOLD
132       VNIR=VOLD
133       WNIR=WOLD
134       ENOR=0.0
135       UNOR=0.0
136       VNOR=0.0
137       WNOR=0.0
138       WTNR=0.0
139       QR=Q
140       UR=U2
141       VR=V2
142       WR=W2
143       ER=E2
144 C       STORE THE RECOIL HEAVY ION IN THE RECOIL BANK
145       EP = ER
146       UP = UR
147       VP = VR
148       WP = WR
149       AMP = AR
150       ZMP = FLOAT(NZR)
151       AGEP = AGE
152       MTP = MT
153       CALL STOPAR(IDHEVY,NHEVY)
154       RETURN
155       END