]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gphys/grangi1.F
Dummy subroutines to avoid files with no code in
[u/mrichter/AliRoot.git] / GEANT321 / gphys / grangi1.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
62be6b28 5* Revision 1.1.1.1 1999/05/18 15:55:20 fca
6* AliRoot sources
7*
fe4da5cc 8* Revision 1.1.1.1 1995/10/24 10:21:33 cernlib
9* Geant
10*
11*
12#include "geant321/pilot.h"
13#if defined(CERNLIB_NEVER)
14*CMZ : 3.21/02 29/03/94 15.41.23 by S.Giani
15*-- Author :
16 SUBROUTINE GRANGI
17C.
18C. ******************************************************************
19C. * *
20C. * Calculates the stopping range , in cm. *
21C. * (i.e. the maximum step due to the continuous energy loss) *
22C. * The stopping range is the integral of the inverse of the *
23C. * DE/DX table. *
24C. * There are 4 tables : electron,positron,muon,proton *
25C. * *
26C. * ==>Called by : GPHYSI *
27C. * Author M.Maire ********* *
28C. * *
29C. ******************************************************************
30C.
31#include "geant321/gcbank.inc"
32#include "geant321/gctrak.inc"
33#include "geant321/gcjloc.inc"
34#include "geant321/gcmulo.inc"
35#include "geant321/gconsp.inc"
36#include "geant321/gcmate.inc"
37*
38 DO 50 IEKBIN=1,NEK1
39*
40* *** Electrons
41*
42 JLOSS = LQ(JMA-1)
43 JRANG = LQ(JMA-15)
44 IF (Z.LT.1.) THEN
45 Q(JRANG+IEKBIN) = BIG
46 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
47 Q(JRANG+IEKBIN) = 0.
48 ELSE
49 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
50 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
51 IF (ABS(FRACT).GE.0.1) THEN
52 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
53 DRANG=DRANG*LOG(1.+FRACT)
54 ELSE
55 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
56 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
57 ENDIF
58 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
59 ENDIF
60*
61* *** Positons
62*
63 JLOSS = LQ(JMA-1) + NEK1
64 JRANG = LQ(JMA-15) + NEK1
65 IF (Z.LT.1.) THEN
66 Q(JRANG+IEKBIN) = BIG
67 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
68 Q(JRANG+IEKBIN) = 0.
69 ELSE
70 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
71 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
72 IF (ABS(FRACT).GE.0.1) THEN
73 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
74 DRANG=DRANG*LOG(1.+FRACT)
75 ELSE
76 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
77 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
78 ENDIF
79 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
80 ENDIF
81*
82* *** Muons
83*
84 JLOSS = LQ(JMA-2)
85 JRANG = LQ(JMA-16)
86 IF (Z.LT.1.) THEN
87 Q(JRANG+IEKBIN) = BIG
88 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
89 Q(JRANG+IEKBIN) = 0.
90 ELSE
91 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
92 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
93 IF (ABS(FRACT).GE.0.1) THEN
94 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
95 DRANG=DRANG*LOG(1.+FRACT)
96 ELSE
97 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
98 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
99 ENDIF
100 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
101 ENDIF
102*
103* *** Protons
104*
105 JLOSS = LQ(JMA-3)
106 JRANG = LQ(JMA-16) + NEK1
107 IF (Z.LT.1.) THEN
108 Q(JRANG+IEKBIN) = BIG
109 ELSE IF ((IEKBIN.EQ.1).OR.(Q(JLOSS+IEKBIN-1).LE.0.)) THEN
110 Q(JRANG+IEKBIN) = 0.
111 ELSE
112 DEBIN=ELOW(IEKBIN) - ELOW(IEKBIN-1)
113 FRACT= Q(JLOSS+IEKBIN)/Q(JLOSS+IEKBIN-1) - 1.
114 IF (ABS(FRACT).GE.0.1) THEN
115 DRANG=DEBIN/(Q(JLOSS+IEKBIN)-Q(JLOSS+IEKBIN-1))
116 DRANG=DRANG*LOG(1.+FRACT)
117 ELSE
118 DRANG=DEBIN/Q(JLOSS+IEKBIN-1)
119 DRANG= DRANG*(1. - 0.5*FRACT + 0.3333*FRACT*FRACT)
120 ENDIF
121 Q(JRANG+IEKBIN)=Q(JRANG+IEKBIN-1) + DRANG
122 ENDIF
123 50 CONTINUE
124*
125 END
62be6b28 126#else
127 SUBROUTINE GRANGI1_DUMMY
128 END
fe4da5cc 129#endif