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

Last change on this file was 1337, checked in by garnier, 14 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.