source: trunk/examples/extended/electromagnetic/TestEm5/geant3/src/uglast.F @ 807

Last change on this file since 807 was 807, checked in by garnier, 16 years ago

update

File size: 3.3 KB
Line 
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
Note: See TracBrowser for help on using the repository browser.