5 * Revision 1.1.1.1 1995/10/24 10:20:04 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.44 by S.Giani
15 *=== samcst ===========================================================*
18 C*******************************************************************
20 SUBROUTINE SAMCST(KPROJ,EKIN,CST)
22 #include "geant321/dblprc.inc"
23 #include "geant321/dimpar.inc"
24 #include "geant321/iounit.inc"
28 C SAMPLING OF COS(THETA)
29 C FOR NUCLEON-PROTON ELASTIC SCATTERING
30 C ACCORDING TO HETKFA2/BERTINI PARAMETRIZATION
32 C-------------------------------------------------------------------
34 DIMENSION DCLIN(195),DCHN(143),DCHNA(36),DCHNB(60)
35 DIMENSION PDCI(60),PDCH(55)
37 SAVE DCLIN, DCHN, DCHNA, DCHNB, PDCI, PDCH
39 DATA (DCLIN(I),I=1,80) /
41 * 5.000D-01, 1.000D+00, 0.000D+00, 1.000D+00, 0.000D+00,
42 * 4.993D-01, 9.881D-01, 5.963D-02, 9.851D-01, 5.945D-02,
43 * 4.936D-01, 8.955D-01, 5.224D-01, 8.727D-01, 5.091D-01,
44 * 4.889D-01, 8.228D-01, 8.859D-01, 7.871D-01, 8.518D-01,
45 * 4.874D-01, 7.580D-01, 1.210D+00, 7.207D-01, 1.117D+00,
46 * 4.912D-01, 6.969D-01, 1.516D+00, 6.728D-01, 1.309D+00,
47 * 5.075D-01, 6.471D-01, 1.765D+00, 6.667D-01, 1.333D+00,
48 * 5.383D-01, 6.054D-01, 1.973D+00, 7.059D-01, 1.176D+00,
49 * 5.397D-01, 5.990D-01, 2.005D+00, 7.023D-01, 1.191D+00,
50 * 5.336D-01, 6.083D-01, 1.958D+00, 6.959D-01, 1.216D+00,
51 * 5.317D-01, 6.075D-01, 1.962D+00, 6.897D-01, 1.241D+00,
52 * 5.300D-01, 6.016D-01, 1.992D+00, 6.786D-01, 1.286D+00,
53 * 5.281D-01, 6.063D-01, 1.969D+00, 6.786D-01, 1.286D+00,
54 * 5.280D-01, 5.960D-01, 2.020D+00, 6.667D-01, 1.333D+00,
55 * 5.273D-01, 5.920D-01, 2.040D+00, 6.604D-01, 1.358D+00,
56 * 5.273D-01, 5.862D-01, 2.069D+00, 6.538D-01, 1.385D+00/
57 DATA (DCLIN(I),I=81,160) /
59 * 5.223D-01, 5.980D-01, 2.814D+00, 6.538D-01, 1.385D+00,
60 * 5.202D-01, 5.969D-01, 2.822D+00, 6.471D-01, 1.412D+00,
61 * 5.183D-01, 5.881D-01, 2.883D+00, 6.327D-01, 1.469D+00,
62 * 5.159D-01, 5.866D-01, 2.894D+00, 6.250D-01, 1.500D+00,
63 * 5.133D-01, 5.850D-01, 2.905D+00, 6.170D-01, 1.532D+00,
64 * 5.106D-01, 5.833D-01, 2.917D+00, 6.087D-01, 1.565D+00,
65 * 5.084D-01, 5.801D-01, 2.939D+00, 6.000D-01, 1.600D+00,
66 * 5.063D-01, 5.763D-01, 2.966D+00, 5.909D-01, 1.636D+00,
67 * 5.036D-01, 5.730D-01, 2.989D+00, 5.814D-01, 1.674D+00,
68 * 5.014D-01, 5.683D-01, 3.022D+00, 5.714D-01, 1.714D+00,
69 * 4.986D-01, 5.641D-01, 3.051D+00, 5.610D-01, 1.756D+00,
70 * 4.964D-01, 5.580D-01, 3.094D+00, 5.500D-01, 1.800D+00,
71 * 4.936D-01, 5.573D-01, 3.099D+00, 5.431D-01, 1.827D+00,
72 * 4.909D-01, 5.509D-01, 3.144D+00, 5.313D-01, 1.875D+00,
73 * 4.885D-01, 5.512D-01, 3.142D+00, 5.263D-01, 1.895D+00,
74 * 4.857D-01, 5.437D-01, 3.194D+00, 5.135D-01, 1.946D+00/
75 DATA (DCLIN(I),I=161,195) /
76 * 4.830D-01, 5.353D-01, 3.253D+00, 5.000D-01, 2.000D+00,
77 * 4.801D-01, 5.323D-01, 3.274D+00, 4.915D-01, 2.034D+00,
78 * 4.770D-01, 5.228D-01, 3.341D+00, 4.767D-01, 2.093D+00,
79 * 4.738D-01, 5.156D-01, 3.391D+00, 4.643D-01, 2.143D+00,
80 * 4.701D-01, 5.010D-01, 3.493D+00, 4.444D-01, 2.222D+00,
81 * 4.672D-01, 4.990D-01, 3.507D+00, 4.375D-01, 2.250D+00,
82 * 4.634D-01, 4.856D-01, 3.601D+00, 4.194D-01, 2.323D+00/
85 * 4.400D+02, 1.896D-01, 1.931D-01, 1.982D-01, 1.015D-01,
86 * 1.029D-01, 4.180D-02, 4.228D-02, 4.282D-02, 4.350D-02,
87 * 2.204D-02, 2.236D-02, 5.900D+02, 1.433D-01, 1.555D-01,
88 * 1.774D-01, 1.000D-01, 1.128D-01, 5.132D-02, 5.600D-02,
89 * 6.158D-02, 6.796D-02, 3.660D-02, 3.820D-02, 6.500D+02,
90 * 1.192D-01, 1.334D-01, 1.620D-01, 9.527D-02, 1.141D-01,
91 * 5.283D-02, 5.952D-02, 6.765D-02, 7.878D-02, 4.796D-02,
92 * 6.957D-02, 8.000D+02, 4.872D-02, 6.694D-02, 1.152D-01,
93 * 9.348D-02, 1.368D-01, 6.912D-02, 7.953D-02, 9.577D-02,
94 * 1.222D-01, 7.755D-02, 9.525D-02, 1.000D+03, 3.997D-02,
95 * 5.456D-02, 9.804D-02, 8.084D-02, 1.208D-01, 6.520D-02,
96 * 8.233D-02, 1.084D-01, 1.474D-01, 9.328D-02, 1.093D-01/
99 * 1.000D+03, 9.453D-02, 9.804D-02, 8.084D-02, 1.208D-01,
100 * 6.520D-02, 8.233D-02, 1.084D-01, 1.474D-01, 9.328D-02,
101 * 1.093D-01, 1.400D+03, 1.072D-01, 7.450D-02, 6.645D-02,
102 * 1.136D-01, 6.750D-02, 8.580D-02, 1.110D-01, 1.530D-01,
103 * 1.010D-01, 1.350D-01, 2.170D+03, 4.004D-02, 3.013D-02,
104 * 2.664D-02, 5.511D-02, 4.240D-02, 7.660D-02, 1.364D-01,
105 * 2.300D-01, 1.670D-01, 2.010D-01, 2.900D+03, 1.870D-02,
106 * 1.804D-02, 1.320D-02, 2.970D-02, 2.860D-02, 5.160D-02,
107 * 1.020D-01, 2.400D-01, 2.250D-01, 3.370D-01, 4.400D+03,
108 * 1.196D-03, 8.784D-03, 1.517D-02, 2.874D-02, 2.488D-02,
109 * 4.464D-02, 8.330D-02, 2.008D-01, 2.360D-01, 3.567D-01/
111 DATA (DCHN(I),I=1,90) /
112 * 4.770D-01, 4.750D-01, 4.715D-01, 4.685D-01, 4.650D-01,
113 * 4.610D-01, 4.570D-01, 4.550D-01, 4.500D-01, 4.450D-01,
114 * 4.405D-01, 4.350D-01, 4.300D-01, 4.250D-01, 4.200D-01,
115 * 4.130D-01, 4.060D-01, 4.000D-01, 3.915D-01, 3.840D-01,
116 * 3.760D-01, 3.675D-01, 3.580D-01, 3.500D-01, 3.400D-01,
117 * 3.300D-01, 3.200D-01, 3.100D-01, 3.000D-01, 2.900D-01,
118 * 2.800D-01, 2.700D-01, 2.600D-01, 2.500D-01, 2.400D-01,
119 * 2.315D-01, 2.240D-01, 2.150D-01, 2.060D-01, 2.000D-01,
120 * 1.915D-01, 1.850D-01, 1.780D-01, 1.720D-01, 1.660D-01,
121 * 1.600D-01, 1.550D-01, 1.500D-01, 1.450D-01, 1.400D-01,
122 * 1.360D-01, 1.320D-01, 1.280D-01, 1.250D-01, 1.210D-01,
123 * 1.180D-01, 1.150D-01, 1.120D-01, 1.100D-01, 1.070D-01,
124 * 1.050D-01, 1.030D-01, 1.010D-01, 9.900D-02, 9.700D-02,
125 * 9.550D-02, 9.480D-02, 9.400D-02, 9.200D-02, 9.150D-02,
126 * 9.100D-02, 9.000D-02, 8.990D-02, 8.900D-02, 8.850D-02,
127 * 8.750D-02, 8.700D-02, 8.650D-02, 8.550D-02, 8.500D-02,
128 * 8.499D-02, 8.450D-02, 8.350D-02, 8.300D-02, 8.250D-02,
129 * 8.150D-02, 8.100D-02, 8.030D-02, 8.000D-02, 7.990D-02/
130 DATA (DCHN(I),I=91,143) /
131 * 7.980D-02, 7.950D-02, 7.900D-02, 7.860D-02, 7.800D-02,
132 * 7.750D-02, 7.650D-02, 7.620D-02, 7.600D-02, 7.550D-02,
133 * 7.530D-02, 7.500D-02, 7.499D-02, 7.498D-02, 7.480D-02,
134 * 7.450D-02, 7.400D-02, 7.350D-02, 7.300D-02, 7.250D-02,
135 * 7.230D-02, 7.200D-02, 7.100D-02, 7.050D-02, 7.020D-02,
136 * 7.000D-02, 6.999D-02, 6.995D-02, 6.993D-02, 6.991D-02,
137 * 6.990D-02, 6.870D-02, 6.850D-02, 6.800D-02, 6.780D-02,
138 * 6.750D-02, 6.700D-02, 6.650D-02, 6.630D-02, 6.600D-02,
139 * 6.550D-02, 6.525D-02, 6.510D-02, 6.500D-02, 6.499D-02,
140 * 6.498D-02, 6.496D-02, 6.494D-02, 6.493D-02, 6.490D-02,
141 * 6.488D-02, 6.485D-02, 6.480D-02/
144 * 6.300D+02, 7.810D-02, 1.421D-01, 1.979D-01, 2.479D-01,
145 * 3.360D-01, 5.400D-01, 7.236D-01, 1.000D+00, 1.540D+03,
146 * 2.225D-01, 3.950D-01, 5.279D-01, 6.298D-01, 7.718D-01,
147 * 9.405D-01, 9.835D-01, 1.000D+00, 2.560D+03, 2.625D-01,
148 * 4.550D-01, 5.963D-01, 7.020D-01, 8.380D-01, 9.603D-01,
149 * 9.903D-01, 1.000D+00, 3.520D+03, 4.250D-01, 6.875D-01,
150 * 8.363D-01, 9.163D-01, 9.828D-01, 1.000D+00, 1.000D+00,
154 * 6.300D+02, 3.800D-02, 7.164D-02, 1.275D-01, 2.171D-01,
155 * 3.227D-01, 4.091D-01, 5.051D-01, 6.061D-01, 7.074D-01,
156 * 8.434D-01, 1.000D+00, 2.040D+03, 1.200D-01, 2.115D-01,
157 * 3.395D-01, 5.295D-01, 7.251D-01, 8.511D-01, 9.487D-01,
158 * 9.987D-01, 1.000D+00, 1.000D+00, 1.000D+00, 2.200D+03,
159 * 1.344D-01, 2.324D-01, 3.754D-01, 5.674D-01, 7.624D-01,
160 * 8.896D-01, 9.808D-01, 1.000D+00, 1.000D+00, 1.000D+00,
161 * 1.000D+00, 2.850D+03, 2.330D-01, 4.130D-01, 6.610D-01,
162 * 9.010D-01, 9.970D-01, 1.000D+00, 1.000D+00, 1.000D+00,
163 * 1.000D+00, 1.000D+00, 1.000D+00, 3.500D+03, 3.300D-01,
164 * 5.450D-01, 7.950D-01, 1.000D+00, 1.000D+00, 1.000D+00,
165 * 1.000D+00, 1.000D+00, 1.000D+00, 1.000D+00, 1.000D+00/
167 C---------------------------------------------------------------
170 C* IS THE KINETIC ENERGY GREATER THAN LIMIT ?
172 IF (EKIN .GT. 3.5D0) RETURN
174 IF(KPROJ.EQ.8) GOTO 101
175 IF(KPROJ.EQ.1) GOTO 102
178 C-------------------------------- NP ELASTIC SCATTERING----------
180 IF (EKIN.GT.0.740D+0)GOTO 1000
181 IF (EKIN.LT.0.300D+0)THEN
185 C 300 MEV < EKIN < 740 MEV
190 IE=ABS(ENER/0.020D+0)
191 UNIV=(ENER-IE*0.020D+0)/0.020D+0
192 C FORWARD/BACKWARD DECISION
194 BWFW=(DCLIN(K+5)-DCLIN(K))*UNIV + DCLIN(K)
205 COEF=(DCLIN(K+5)-DCLIN(K))*UNIV + DCLIN(K)
220 IF(VALUE2.GT.0.D0)THEN
228 CST=-MAX(R1,R2,R3,R4,R5)
233 CST=-MAX(R1,R2,R3,R4,R5,R6,R7)
242 C******** EKIN .GT. 0.74 GEV
246 C IE=ABS(ENER/0.02D0)
250 UNIV=(ENER-IE*0.020D+0)/0.020D+0
252 BWFW=(DCHN(K+1)-DCHN(K))*UNIV + DCHN(K)
258 IF (DCHNA(K).GT.EMEV) THEN
259 UNIVE=(EMEV-DCHNA(K-9))/(DCHNA(K)-DCHNA(K-9))
264 P=(DCHNA(II)-DCHNA(II-9))*UNIVE + DCHNA(II-9)
270 GOTO(290,290,290,290,330,340,350,360) I
279 IF (DCHNB(K).GT.EMEV) THEN
280 UNIVE=(EMEV-DCHNB(K-12))/(DCHNB(K)-DCHNB(K-12))
285 P=(DCHNB(II)-DCHNB(II-12))*UNIVE + DCHNB(II-12)
291 GOTO(120,120,140,150,160,160,180,190,200,210,220) I
298 120 CST=1.0D-2*FLTI-1.0D+0
300 140 CST=2.0D-2*UNIV-0.98D+0
302 150 CST=4.0D-2*UNIV-0.96D+0
304 160 CST=6.0D-2*FLTI-1.16D+0
306 180 CST=8.0D-2*UNIV-0.80D+0
308 190 CST=1.0D-1*UNIV-0.72D+0
310 200 CST=1.2D-1*UNIV-0.62D+0
312 210 CST=2.0D-1*UNIV-0.50D+0
314 220 CST=3.0D-1*(UNIV-1.0D+0)
317 290 CST=1.0D0 - 2.5D-2*FLTI
319 330 CST=0.85D0 + 0.5D-1*UNIV
321 340 CST=0.70D0 + 1.5D-1*UNIV
323 350 CST=0.50D0 + 2.0D-1*UNIV
329 C----------------------------------- PP ELASTIC SCATTERING -------
334 IF (EKIN.LE.0.500D0) THEN
340 ELSE IF (EKIN.LT.1.D0) THEN
342 IF (PDCI(K).GT.EMEV) THEN
343 UNIVE=(EMEV-PDCI(K-12))/(PDCI(K)-PDCI(K-12))
349 SUM=SUM + (PDCI(II)-PDCI(II-12))*UNIVE + PDCI(II-12)
355 GOTO(55,55,55,60,60,65,65,65,65,70,70) I
362 IF (PDCH(K).GT.EMEV) THEN
363 UNIVE=(EMEV-PDCH(K-11))/(PDCH(K)-PDCH(K-11))
369 SUM=SUM + (PDCH(II)-PDCH(II-11))*UNIVE + PDCH(II-11)
375 GOTO(50,55,60,60,65,65,65,65,70,70) I
386 60 CST=0.3D0 + 0.1D0*FLTI
388 65 CST=0.6D0 + 0.04D0*FLTI
390 70 CST=0.78D0 + 0.02D0*FLTI
395 IF (RND.GT.0.5D+00)CST=-CST