7 #include "geant321/gcbank.inc"
11 dimension aair(2),zair(2),wair(2)
12 dimension aco2(2),zco2(2),wco2(2)
13 dimension ah2o(2),zh2o(2),wh2o(2)
14 dimension ag10(4),zg10(4),wg10(4)
15 dimension asci(2),zsci(2),wsci(2)
16 dimension acsi(2),zcsi(2),wcsi(2)
22 DATA aair/14.01, 16.00/
24 DATA wair/ 0.7 , 0.3 /
27 DATA aco2/12.01, 16.00/
32 DATA ah2o/ 1.01, 16.00/
37 DATA ag10/ 1.01, 12.00, 16.00, 28.00/
38 DATA zg10/ 1. , 6. , 8. , 14. /
39 DATA wg10/ 3. , 3. , 2. , 1. /
42 DATA asci/12.01, 1.01/
47 DATA acsi/ 126.90, 132.90/
48 DATA zcsi/ 53. , 55. /
52 CALL gsmixt( 1,
'Air' , aair ,zair, 1.29
e-3, 2 , wair)
53 CALL gsmixt( 2,
'CO2 gas' , aco2 ,zco2, 27.0
e-3,-2 , wco2)
54 CALL gsmate( 3,
'H2 Liquid', 1.008, 1., 0.0708 , 865., 790., 0,0)
55 CALL gsmixt( 4,
'Water' , ah2o ,zh2o, 1.0 ,-2 , wh2o)
56 CALL gsmate( 5,
'Liquid Ar', 39.95, 18., 1.39 , 14.0, 84.0, 0,0)
57 CALL gsmate( 6,
'Aluminium', 26.98, 13., 2.7 , 8.9, 37.2, 0,0)
58 CALL gsmate( 7,
'Iron ', 55.85, 26., 7.87 , 1.76, 17.1, 0,0)
59 CALL gsmate( 8,
'Lead ',207.19, 82., 11.35 , 0.56, 18.5, 0,0)
60 CALL gsmate( 9,
'Uranium ',238.03, 92., 18.95 , 0.32, 12. , 0,0)
61 CALL gsmate(10,
'Silicon ', 28.09, 14., 2.33 , 9.36, 45.5, 0,0)
62 CALL gsmate(11,
'Tungsten ',183.85, 74., 19.30 , 0.35, 9.6, 0,0)
63 CALL gsmixt(12,
'NemaG10' , ag10 ,zg10, 1.7 ,-4 , wg10)
64 CALL gsmate(13,
'Copper ', 63.55, 29., 8.96 , 1.43, 15.0, 0,0)
65 CALL gsmixt(14,
'Scintilla', asci ,zsci, 1.032 ,-2 , wsci)
66 CALL gsmate(15,
'Gold ',196.97, 79., 19.32 , 0.33, 9.6, 0,0)
67 CALL gsmixt(16,
'CsI ', acsi ,zcsi, 4.534 ,-2 , wcsi)
76 IF (field.GT.0.) ifield = 3
80 IF (stepmax.gt.0.) stemax = stepmax
86 CALL gstmed(
k,
'absorber',materabs(
k), 0 ,ifield,fieldm,tmaxfd,
87 * stemax,deemax,epsil,stmin, 0 , 0 )
92 itm = prodcut(
k) + 0.01
94 call gstpar(itm,
'BCUTE' ,prodcut(
k+1))
95 call gstpar(itm,
'BCUTM' ,prodcut(
k+1))
96 call gstpar(itm,
'DCUTE' ,prodcut(
k+2))
97 call gstpar(itm,
'DCUTM' ,prodcut(
k+2))
98 call gstpar(itm,
'PPCUTM',prodcut(
k+3))
103 CALL gstmed( nudef,
'default' , 1 , 0 ,ifield,fieldm,tmaxfd,
104 * stemax,deemax,epsil,stmin, 0 , 0 )
110 thlayer = thlayer + thickabs(
k)
112 calorx = nblayer*thlayer
114 worldyz = 1.2*caloryz
120 CALL gsvolu(
'worl',
'BOX ',nudef,par,3,ivol)
126 CALL gsvolu(
'calo',
'BOX ',nudef,par,3,ivol)
127 CALL gspos(
'calo',1,
'worl',0.,0.,0.,0,
'ONLY')
130 CALL gsdvn(
'layr',
'calo',nblayer,1)
134 xfront = -0.5*thlayer
136 par(1) = thickabs(
k)/2.
139 volnam(4:4) = char(ichar(
'0')+
k)
140 CALL gsvolu(volnam,
'BOX ',
k,par,3,ivol)
142 CALL gspos(volnam,1,
'layr',
xcenter,0.,0.,0,
'ONLY')
143 xfront = xfront + thickabs(
k)
153 call gfmate(materabs(
k),matnam,dua,duz,dud,dur,dui,udu,idu)
154 print 752,matnam,thickabs(
k)
158 749
FORMAT(/ ,60(1h-),/)
159 751
FORMAT(1
x,
'The calorimeter is ',i2,
' layers of:')
160 752
FORMAT(5
x,a10,
': ',f8.4,
' cm')
163 CALL gsatt(
'*' ,
'SEEN',1)
164 CALL gsatt(
'layr',
'SEEN',0)
173 CALL gdscal(10. , 0.3)