5 * Revision 1.1.1.1 1995/10/24 10:21:33 cernlib
9 #include "geant321/pilot.h"
10 #if defined(CERNLIB_NEVER)
11 *CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani
15 C. ******************************************************************
17 C. * Calculates the stopping range , in cm. *
18 C. * (i.e. the maximum step due to the continuous energy loss) *
19 C. * The stopping range is the integral of the inverse of the *
21 C. * There are 4 tables : electron,positron,muon,proton *
23 C. * ==>Called by : GPHYSI *
24 C. * Author M.Maire ********* *
26 C. ******************************************************************
28 #include "geant321/gcbank.inc"
29 #include "geant321/gctrak.inc"
30 #include "geant321/gcjloc.inc"
31 #include "geant321/gcmulo.inc"
32 #include "geant321/gconsp.inc"
33 #include "geant321/gcmate.inc"
43 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
46 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
47 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
48 IF (ABS(FRACT).GE.0.1) THEN
49 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
50 DRANG=DRANG*LOG(1.+FRACT)
52 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
53 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
55 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
60 JLOSS = LQ(JMA-1) + NEK1
61 JRANG = LQ(JMA-15) + NEK1
64 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
67 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
68 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
69 IF (ABS(FRACT).GE.0.1) THEN
70 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
71 DRANG=DRANG*LOG(1.+FRACT)
73 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
74 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
76 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
85 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
88 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
89 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
90 IF (ABS(FRACT).GE.0.1) THEN
91 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
92 DRANG=DRANG*LOG(1.+FRACT)
94 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
95 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
97 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
103 JRANG = LQ(JMA-16) + NEK1
105 Q(JRANG+IEKBIN) = BIG
106 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
109 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
110 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
111 IF (ABS(FRACT).GE.0.1) THEN
112 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
113 DRANG=DRANG*LOG(1.+FRACT)
115 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
116 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
118 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG