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)
 
  141         xcenter = xfront + 0.5*thickabs(k)
 
  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)
 
  168         scale =   18./max(worldx,worldyz)
 
  173         CALL gdscal(10. , 0.3)
 
void print(const std::vector< T > &data)