This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / neutron / grndst.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:21:56  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.48  by  S.Giani
11 *-- Author :
12       SUBROUTINE GRNDST(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 GROUND STATE TWO-BODY REACTION USING CLASSICAL KINEMATICS
16 C       AND A 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       NPN = 1
28       IF(MT.EQ.108) NPN = 2
29       IF(MT.EQ.109) NPN = 3
30       IF(MT.EQ.111) NPN = 2
31 C       CALCULATE THE CONSTANTS USED IN THE KINEMATIIC EQUATIONS
32       ZATAR=ATAR*9.31075E+08
33       PXO = 0.0
34       PYO = 0.0
35       PZO = 0.0
36 C loop over emmited particles
37       DO 40  NP=1,NPN
38 C       ASSUME ISOTROPIC CHARGED PARTICLE EMISSION IN THE CENTER
39 C       OF MASS COORDINATE SYSTEM
40          R=FLTRNF(0)
41          FM=2.0*R-1.0
42 C       FOR A GROUND STATE REACTION THE RECOIL MASS IS KNOWN EXACTLY
43          Z2=ZN+ZATAR-FLOAT(NP)*Z1-Q
44          A2=Z2/9.31075E+08
45          DENOM=(AN+ATAR)*(A1*FLOAT(NP)+A2)
46          ERATIO=EOLD/(EOLD+Q)
47          AC=((AN*A2)/DENOM)*ERATIO
48          BC=((AN*A1)/DENOM)*ERATIO
49          CC=((ATAR*A1)/DENOM)*(1.0+(AN*Q)/(ATAR*(EOLD+Q)))
50          DC=((ATAR*A2)/DENOM)*(1.0+(AN*Q)/(ATAR*(EOLD+Q)))
51 C       CALCULATE THE CHARGED PARTICLE AND RECOIL NUCLEUS IN THE
52 C       LABORATORY COORDINATE SYSTEM
53          E1=(EOLD+Q)*(BC+DC+(2.0*SQRT(AC*CC))*FM)
54          E2=(EOLD+Q)*(AC+CC-(2.0*SQRT(AC*CC))*FM)
55 C       CALCULATE THE CHARGED PARTICLE ENERGY AND VELOCITY IN THE
56 C       CENTER OF MASS COORDINATE SYSTEM
57          E1CM=(Z2/(Z1+Z2))*((ZATAR/(ZN+ZATAR))*EOLD+Q)
58          V1CM=SQRT((2.0*E1CM)/Z1)
59 C       CALCULATE THE VELOCITY OF THE CENTER OF MASS
60          VCM=SQRT(2.0*ZN*EOLD)/(ZN+ZATAR)
61 C       CONVERT THE COSINE OF THE SCATTERING ANGLE IN THE CENTER OF
62 C       MASS COORDINATE SYSTEM TO THE LABORATORY COORDINATE SYSTEM
63          FM=(V1CM*FM+VCM)/(SQRT(((V1CM*FM+VCM)**2)+ ((V1CM*(1.0-FM**2))
64      +   **2)))
65 C       CALCULATE THE CHARGED PARTICLE EXIT DIRECTIONAL COSINES
66          SINPSI=SQRT(1.0-FM**2)
67          CALL AZIRN(SINETA,COSETA)
68          STHETA=1.0-UOLD**2
69          IF(STHETA)20,20,10
70    10    STHETA=SQRT(STHETA)
71          COSPHI=VOLD/STHETA
72          SINPHI=WOLD/STHETA
73          GO TO 30
74    20    COSPHI=1.0
75          SINPHI=0.0
76          STHETA=0.0
77    30    U1=UOLD*FM-COSETA*SINPSI*STHETA
78          V1=VOLD*FM+UOLD*COSPHI*COSETA*SINPSI-SINPHI*SINPSI*SINETA
79          W1=WOLD*FM+UOLD*SINPHI*COSETA*SINPSI+COSPHI*SINPSI*SINETA
80          S=1.0/SQRT(U1**2+V1**2+W1**2)
81          U1=U1*S
82          V1=V1*S
83          W1=W1*S
84          PPO = SQRT(2.0*Z1*E1)
85          PXO = PXO + U1*PPO
86          PYO = PYO + V1*PPO
87          PZO = PZO + W1*PPO
88 C       CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS
89          XR=X
90          YR=Y
91          ZR=Z
92          WATER=WTBC
93          NZR=KZ1
94          AGER=AGE
95          NCOLR=NCOL
96          MTNR=MT
97          AR=A1
98          ENIR=EOLD
99          UNIR=UOLD
100          VNIR=VOLD
101          WNIR=WOLD
102          ENOR=0.0
103          UNOR=0.0
104          VNOR=0.0
105          WNOR=0.0
106          WTNR=0.0
107          QR=Q
108          UR=U1
109          VR=V1
110          WR=W1
111          ER=E1
112 C       STORE THE CHARGED PARTICLE IN THE RECOIL BANK
113          EP = ER
114          UP = UR
115          VP = VR
116          WP = WR
117          AMP = AR
118          ZMP = FLOAT(NZR)
119          AGEP = AGE
120          MTP = MT
121          CALL STOPAR(IDHEVY,NHEVY)
122    40 CONTINUE
123 C       CALCULATE THE TOTAL MOMENTUM BEFORE THE COLLISION
124 C       NEUTRON MOMENTUM BEFORE COLLISION (PI) EQUALS TOTAL MOMENTUM
125       PI=SQRT(2.0*ZN*EOLD)
126 C       CALCULATE THE DIRECTIONAL MOMENTUM OF THE RECOIL NUCLEUS
127       PRX=PI*UOLD-PXO
128       PRY=PI*VOLD-PYO
129       PRZ=PI*WOLD-PZO
130 C       CALCULATE THE TOTAL MOMENTUM OF THE RECOIL NUCLEUS
131       PR=SQRT(PRX**2+PRY**2+PRZ**2)
132 C       CALCULATE THE RECOIL NUCLEUS DIRECTIONAL COSINES
133       U2=PRX/PR
134       V2=PRY/PR
135       W2=PRZ/PR
136 C       CALCULATE THE RECOIL NUCLEUS EXIT ENERGY
137       XM = A2 * 931.075E6
138       E2 = SQRT(PR**2+XM**2) - XM
139 C       CALCULATE AND SET THE CHARGED PARTICLE EXIT PARAMETERS
140       XR=X
141       YR=Y
142       ZR=Z
143       WATER=WTBC
144       NZR=KZ2
145       AGER=AGE
146       NCOLR=NCOL
147       MTNR=MT
148       AR=A2
149       ENIR=EOLD
150       UNIR=UOLD
151       VNIR=VOLD
152       WNIR=WOLD
153       ENOR=0.0
154       UNOR=0.0
155       VNOR=0.0
156       WNOR=0.0
157       WTNR=0.0
158       QR=Q
159       UR=U2
160       VR=V2
161       WR=W2
162       ER=E2
163 C       STORE THE RECOIL HEAVY ION IN THE RECOIL BANK
164       EP = ER
165       UP = UR
166       VP = VR
167       WP = WR
168       AMP = AR
169       ZMP = FLOAT(NZR)
170       AGEP = AGE
171       MTP = MT
172       CALL STOPAR(IDHEVY,NHEVY)
173       RETURN
174       END