]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:21:24 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #include "geant321/pilot.h" | |
10 | *CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani | |
11 | *-- Author : | |
12 | SUBROUTINE GDRSGA | |
13 | C. | |
14 | C. ****************************************************************** | |
15 | C. * * | |
16 | C. * Calculates cross-section in current material * | |
17 | C. * for Delta rays (Moller or Bhabba) * | |
18 | C. * * | |
19 | C. * ==>Called by : GPHYSI * | |
20 | C. * Authors D.Ward, L.Urban ********* * | |
21 | C. * * | |
22 | C. ****************************************************************** | |
23 | C. | |
24 | #include "geant321/gcbank.inc" | |
25 | #include "geant321/gctrak.inc" | |
26 | #include "geant321/gconsp.inc" | |
27 | #include "geant321/gcmate.inc" | |
28 | #include "geant321/gcjloc.inc" | |
29 | #include "geant321/gccuts.inc" | |
30 | #include "geant321/gcmulo.inc" | |
31 | C. | |
32 | C. ------------------------------------------------------------------ | |
33 | C. | |
34 | Q(JDRAY+IEKBIN )=BIG | |
35 | Q(JDRAY+IEKBIN+ NEK1)=BIG | |
36 | Q(JDRAY+IEKBIN+2*NEK1)=BIG | |
37 | IF(Z.LT.1.) GOTO 99 | |
38 | JPROB=LQ(JMA-4) | |
39 | TKIN=ELOW(IEKBIN) | |
40 | C | |
41 | C=======> A, MUONS | |
42 | C | |
43 | IF(TKIN.GT.DCUTM)THEN | |
44 | XE=TKIN+EMMU | |
45 | GAM=XE/EMMU | |
46 | GAM2=GAM**2 | |
47 | BET2=1.-1./GAM2 | |
48 | TMAX=2.*EMASS*(GAM2-1.)/ | |
49 | + (1.+2.*GAM*EMASS/EMMU+(EMASS/EMMU)**2) | |
50 | IF(TMAX.GT.DCUTM)THEN | |
51 | Y=DCUTM/TMAX | |
52 | SIG=(1.-Y+BET2*Y*LOG(Y))/DCUTM | |
53 | SIG=SIG+(TMAX-DCUTM)/(2.*XE**2) | |
54 | SIG=SIG*Q(JPROB+17)*EMASS/BET2 | |
55 | IF(SIG.GT.0.)Q(JDRAY+IEKBIN+2*NEK1)=1./SIG | |
56 | ENDIF | |
57 | ENDIF | |
58 | C | |
59 | C======> B, ELECTRONS | |
60 | C | |
61 | IF(TKIN.GT.DCUTE)THEN | |
62 | C | |
63 | XE=TKIN+EMASS | |
64 | GAM=XE/EMASS | |
65 | GAM2=GAM*GAM | |
66 | BET2=1.-1./GAM2 | |
67 | T=GAM-1. | |
68 | X=DCUTE/(T*EMASS) | |
69 | X1=1.-X | |
70 | C | |
71 | C Moller | |
72 | C | |
73 | IF(T.GT.2.*DCUTE/EMASS)THEN | |
74 | B1=T*T/GAM2 | |
75 | B2=(2.*GAM-1.)/GAM2 | |
76 | SIG=(B1*(0.5-X)+1./X-1./X1-B2*LOG(X1/X))/BET2 | |
77 | SIG=Q(JPROB+17)*SIG/T | |
78 | IF(SIG.GT.0.)Q(JDRAY+IEKBIN)=1./SIG | |
79 | ENDIF | |
80 | C | |
81 | C Bhabha | |
82 | C | |
83 | IF(T.GT.DCUTE/EMASS)THEN | |
84 | Y=1./(GAM+1.) | |
85 | Y2=Y*Y | |
86 | C=1.-2.*Y | |
87 | B1=2.-Y2 | |
88 | B2=C*(3.+Y2) | |
89 | C2=C*C | |
90 | B4=C2*C | |
91 | B3=C2+B4 | |
92 | SIG=(1./X-1.)/BET2+B1*LOG(X) | |
93 | + +B2*(1.-X)-B3*(1.-X*X)/2.+B4*(1.-X**3)/3. | |
94 | SIG=Q(JPROB+17)*SIG/T | |
95 | IF(SIG.GT.0.)Q(JDRAY+IEKBIN+NEK1)=1./SIG | |
96 | ENDIF | |
97 | ENDIF | |
98 | C | |
99 | 99 RETURN | |
100 | END |