5 * Revision 1.1.1.1 1995/10/24 10:21:23 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 02/07/94 18.28.12 by S.Giani
14 C. ******************************************************************
16 C. * Generates Delta rays *
18 C. * ==>Called by : GTELEC,GTHADR,GTMUON *
19 C. * Authors D.Ward, L.Urban ******** *
21 C. ******************************************************************
23 #include "geant321/gcphys.inc"
24 #include "geant321/gctrak.inc"
25 #include "geant321/gconsp.inc"
26 #include "geant321/gckine.inc"
27 #include "geant321/gcking.inc"
28 #include "geant321/gccuts.inc"
33 C. ------------------------------------------------------------------
46 C======> Moller scattering
54 B1=4./(9.*GAM2-10.*GAM+5.)
56 B3=(2.*GAM2+2.*GAM-1.)*B1
59 SCREJ=B2*E*E-B3*E/E1+B1*GAM2/(E1*E1)
61 IF(RNDM(2).GT.SCREJ) GOTO 10
63 ELSEIF(IPART.EQ.2)THEN
65 C======> Bhabha scattering
82 SCREJ=(((B4*E-B3)*E+B2)*E-B1)*E+B0
83 SCREJ=SCREJ/((((B4*X-B3)*X+B2)*X-B1)*X+B0)
84 IF(RNDM(2).GT.SCREJ) GOTO 20
88 C======> Heavy particle.
90 TMAX=2.*EMASS*(GAM2-1.)/
91 + (1.+2.*GAM*EMASS/AMASS+(EMASS/AMASS)**2)
92 IF(TMAX.LE.DCUTM) GOTO 90
94 E=1./DCUTM+RNDM(1)*(1./TMAX-1./DCUTM)
97 SCREJ=1.-BET2*(E/TMAX)
98 C --- extra term for spin 1/2 parent.
99 IF(AMASS.GT.0.9 .OR. AMASS.LT.0.12)
100 + SCREJ=SCREJ+0.5*(E/GETOT)**2
101 IF(RNDM(2).GT.SCREJ) GO TO 40
108 PEL=SQRT(ABS((EEL+EMASS)*TEL))
109 COSTH=(XE*EEL+EMASS*(TEL-XE))/(P*PEL)
113 ELSEIF(COSTH.LE.-1.) THEN
117 SINTH=SQRT((1.+COSTH)*(1.-COSTH))
124 C Polar co-ordinates to momentum components.
127 GKIN(1,1)=PEL*SINTH*COSPHI
128 GKIN(2,1)=PEL*SINTH*SINPHI
133 GPOS(1,NGKINE) = VECT(1)
134 GPOS(2,NGKINE) = VECT(2)
135 GPOS(3,NGKINE) = VECT(3)
141 CALL GFANG(VECT(4),COSTH,SINTH,COSPH,SINPH,ROTATE)
143 CALL GDROT(PELS(1),COSTH,SINTH,COSPH,SINPH)
144 CALL GDROT(GKIN,COSTH,SINTH,COSPH,SINPH)
147 C Correct track vector for lost energy and scattered angles
151 PEELS=SQRT(ABS((EELS+AMASS)*TELS))
154 VECT(I+3) = PELS(I)/PEELS
161 IF((IDRAY.NE.1).OR.(TEL.LE.CUTELE)) THEN
163 DESTEP = DESTEP + TEL
166 C Update probabilities
168 90 CALL GRNDM(RNDM,1)