1 | |
---|
2 | SUBROUTINE UGLAST |
---|
3 | * |
---|
4 | #include "geant321/gcflag.inc" |
---|
5 | * |
---|
6 | #include "runinfo.inc" |
---|
7 | #include "histo.inc" |
---|
8 | * |
---|
9 | CHARACTER*4 unitm,unitr |
---|
10 | DIMENSION transmit(2),reflect(2) |
---|
11 | * |
---|
12 | CALL GLAST |
---|
13 | * |
---|
14 | IF(ievent.le.0) return |
---|
15 | * |
---|
16 | PRINT 749 |
---|
17 | PRINT 750,ievent |
---|
18 | * |
---|
19 | totevent = float(ievent) |
---|
20 | * |
---|
21 | * energy deposit |
---|
22 | fmean = sedep/totevent |
---|
23 | rms2 = sedep2/totevent-fmean**2 |
---|
24 | rms = 0. |
---|
25 | if (rms2.gt.0.) rms = sqrt(rms2/totevent) |
---|
26 | * |
---|
27 | call gevkev (fmean,Emean,unitm) |
---|
28 | call gevkev (rms ,Erms ,unitr) |
---|
29 | print 752, Emean,unitm,Erms,unitr |
---|
30 | * |
---|
31 | * track length (charged) |
---|
32 | fmean = strkch/totevent |
---|
33 | rms2 = strkch2/totevent-fmean**2 |
---|
34 | rms = 0. |
---|
35 | if (rms2.gt.0.) rms = sqrt(rms2/totevent) |
---|
36 | print 753, fmean,rms |
---|
37 | * |
---|
38 | * track length (neutral) |
---|
39 | fmean = strkne/totevent |
---|
40 | rms2 = strkne2/totevent-fmean**2 |
---|
41 | rms = 0. |
---|
42 | if (rms2.gt.0.) rms = sqrt(rms2/totevent) |
---|
43 | print 754, fmean,rms |
---|
44 | * |
---|
45 | * number of steps (charged) |
---|
46 | fmean = sstpch/totevent |
---|
47 | rms2 = sstpch2/totevent-fmean**2 |
---|
48 | rms = 0. |
---|
49 | if (rms2.gt.0.) rms = sqrt(rms2/totevent) |
---|
50 | print 755, fmean,rms |
---|
51 | * |
---|
52 | * number of steps (neutral) |
---|
53 | fmean = sstpne/totevent |
---|
54 | rms2 = sstpne2/totevent-fmean**2 |
---|
55 | rms = 0. |
---|
56 | if (rms2.gt.0.) rms = sqrt(rms2/totevent) |
---|
57 | print 756, fmean,rms |
---|
58 | * |
---|
59 | * number of secondaries |
---|
60 | gamma = ngamma/totevent |
---|
61 | elect = nelect/totevent |
---|
62 | posit = nposit/totevent |
---|
63 | print 757, gamma,elect,posit |
---|
64 | * |
---|
65 | * transmission & reflection coefficients |
---|
66 | transmit(1) = 100.*nbtransm(1)/totevent |
---|
67 | transmit(2) = 100.*nbtransm(2)/totevent |
---|
68 | reflect (1) = 100.*nbreflec(1)/totevent |
---|
69 | reflect (1) = 100.*nbreflec(2)/totevent |
---|
70 | print 761, transmit(2) |
---|
71 | print 762, transmit(1) |
---|
72 | print 763, reflect (2) |
---|
73 | print 764, reflect (1) |
---|
74 | * |
---|
75 | print 749 |
---|
76 | * |
---|
77 | * |
---|
78 | * *** histograms |
---|
79 | * |
---|
80 | call HPLEND |
---|
81 | call HRPUT(0,fileName,'N') |
---|
82 | * |
---|
83 | * *** formats |
---|
84 | * |
---|
85 | 749 FORMAT(/ ,80(1H=),/) |
---|
86 | 750 FORMAT(' Number of events = ', I7) |
---|
87 | * |
---|
88 | 752 FORMAT(/,' Total energy deposit in absorber per event = ', |
---|
89 | + F8.3,A4,' +- ',F6.2,A4) |
---|
90 | * |
---|
91 | 753 FORMAT(/,' Total track length (charged) in absorber per event = ', |
---|
92 | + F8.4,' cm +- ',F8.4, ' cm') |
---|
93 | 754 FORMAT( ' Total track length (neutral) in absorber per event = ', |
---|
94 | + F8.4,' cm +- ',F8.4, ' cm') |
---|
95 | * |
---|
96 | 755 FORMAT(/,' Number of steps (charged) in absorber per event = ', |
---|
97 | + F7.3,' +- ',F7.3) |
---|
98 | 756 FORMAT( ' Number of steps (neutral) in absorber per event = ', |
---|
99 | + F7.3,' +- ',F7.3) |
---|
100 | * |
---|
101 | 757 FORMAT(/,' Number of secondaries per event : ', |
---|
102 | + 'gammas = ',F8.3, '; electrons = ',F8.3,'; positrons =',F8.3) |
---|
103 | * |
---|
104 | 761 FORMAT(/,' Nb of events with the primary particle transmitted = ', |
---|
105 | + F6.2, ' %') |
---|
106 | 762 FORMAT( ' Nb of events with at least 1 particle transmitted ', |
---|
107 | + '(same charge as primary) = ',F6.2, ' %') |
---|
108 | 763 FORMAT(/,' Nb of events with the primary particle reflected = ', |
---|
109 | + F6.2, ' %') |
---|
110 | 764 FORMAT( ' Nb of events with at least 1 particle reflected ', |
---|
111 | + '(same charge as primary) = ',F6.2, ' %') |
---|
112 | * |
---|
113 | END |
---|