source: trunk/examples/extended/electromagnetic/TestEm2/geant3/src/uglast.F@ 1346

Last change on this file since 1346 was 1337, checked in by garnier, 15 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 5.5 KB
Line 
1
2 SUBROUTINE UGLAST
3*
4* Termination routine to print histograms and statistics
5*
6#include "geant321/gcbank.inc"
7#include "geant321/gcflag.inc"
8#include "geant321/gckine.inc"
9#include "pvolum.inc"
10#include "celoss.inc"
11*
12 DIMENSION XSEL1(NBIN),XSEL1C(NBIN),XSER1(NBIN),XSER1C(NBIN),
13 + XSEL2(NBIN),XSEL2C(NBIN),XSER2(NBIN),XSER2C(NBIN)
14
15 DIMENSION EDIST(100),EDISTC(100)
16*
17* *** Normalize and print energy distribution
18 XEVENT=IEVENT
19 CNORM = 100./(XEVENT*PKINE(3))
20*
21* *** mean total energy deposit by charged and by neutral
22 EDEPCH = CNORM*EDEPCH
23 EDEPNE = CNORM*EDEPNE
24*
25* *** longitudinal profile
26 DO 2 I = 1,NLTOT
27 XSEL1 (I) = CNORM * SEL1 (I)
28 XSEL2 (I) = CNORM*SQRT(ABS(XEVENT*SEL2 (I) - SEL1 (I)**2))
29 XSEL1C(I) = CNORM * SEL1C(I)
30 XSEL2C(I) = CNORM*SQRT(ABS(XEVENT*SEL2C(I) - SEL1C(I)**2))
31 2 CONTINUE
32 CALL HPAK (5,XSEL2)
33 CALL HPAK (7,XSEL2C)
34*
35* *** radial profile
36 DO 3 I = 1,NRTOT
37 XSER1 (I) = CNORM * SER1 (I)
38 XSER2 (I) = CNORM*SQRT(ABS(XEVENT*SER2 (I) - SER1 (I)**2))
39 XSER1C(I) = CNORM * SER1C(I)
40 XSER2C(I) = CNORM*SQRT(ABS(XEVENT*SER2C(I) - SER1C(I)**2))
41 3 CONTINUE
42 CALL HPAK ( 9,XSER2)
43 CALL HPAK (11,XSER2C)
44*
45* *** total track length
46 CNORM = 1./(XEVENT*X0)
47 XTRCH1 = CNORM*STRCH1
48 XTRCH2 = CNORM*SQRT(ABS(XEVENT*STRCH2 - STRCH1**2))
49 XTRNE1 = CNORM*STRNE1
50 XTRNE2 = CNORM*SQRT(ABS(XEVENT*STRNE2 - STRNE1**2))
51*
52* *** Print profiles (under condition iswit(2).gt.0)
53*
54 if (iswit(2).gt.0) then
55 PRINT 749
56 PRINT 750
57 PRINT 751
58 DO 15 I=1,NLTOT
59 B0 = (I-1)*DLX0
60 B1 = I*DLX0
61 PRINT 754,B0,B1,XSEL1(I),XSEL2(I),B1,XSEL1C(I),XSEL2C(I)
62 15 CONTINUE
63
64 PRINT 760
65 PRINT 751
66 DO 16 I=1,NRTOT
67 B0 = (I-1)*DRX0
68 B1 = I*DRX0
69 PRINT 754,B0,B1,XSER1(I),XSER2(I),B1,XSER1C(I),XSER2C(I)
70 16 CONTINUE
71 endif
72*
73* *** normalize histo of energy ditribution of contributing particles
74* and compute cumulative distribution
75 SUM = HSUM (21)
76 CALL HUNPAK(21,EDIST,'HIST',1)
77 EDIST( 1) = EDIST(1)*100/SUM
78 EDISTC(1) = EDIST(1)
79 DO 17 I=2,100
80 EDIST (I) = EDIST (I)*100/SUM
81 EDISTC(I) = EDISTC(I-1) + EDIST(I)
82 17 CONTINUE
83 CALL HPAK (21,EDIST)
84 CALL HPAK (22,EDISTC)
85*
86* *** print summary
87 PRINT 770
88 PRINT 771,XSEL1C(NLTOT),XSEL2C(NLTOT)
89 PRINT 774,EDEPCH
90 PRINT 775,EDEPNE
91 PRINT 772,XTRCH1,XTRCH2
92 PRINT 773,XTRNE1,XTRNE2
93 PRINT 749
94*
95* *** Save selected histograms
96 CALL HRPUT(0,'testem2.hbook','N')
97*
98* *** terminaison
99 CALL GLAST
100*
101* *** close HIGZ
102 CALL HPLEND
103*
104 749 FORMAT(//)
105 750 FORMAT(15X,'LATERAL PROFILE',35X,'CUMULATIVE LATERAL PROFILE'/)
106 751 FORMAT( 8X,'Bin',12X,' Mean ',5X,' rms',
107 * 19X,'Bin', 9X,' Mean ',5X,' rms',/)
108 754 FORMAT( 3X,F5.2,'->',F5.2,' radl: ',F7.2,'% ',F7.2,'%',
109 * 13X, '0->',F5.2,' radl: ',F7.2,'% ',F7.2,'%')
110 760 FORMAT(///,15X,'RADIAL PROFILE',35X,'CUMULATIVE RADIAL PROFILE'/)
111 770 FORMAT(/,30X,'SUMMARY',/)
112 771 FORMAT( 25X,'energy deposit : ',F7.2,' % E0 +- ',F7.2,' % E0')
113 772 FORMAT( 25X,'charged traklen: ',F7.2,' radl +- ',F7.2,' radl')
114 773 FORMAT( 25X,'neutral traklen: ',F7.2,' radl +- ',F7.2,' radl')
115 774 FORMAT( 25X,'edep by charged: ',F7.2,' % E0')
116 775 FORMAT( 25X,'edep by neutral: ',F7.2,' % E0')
117*
118 END
119
Note: See TracBrowser for help on using the repository browser.