Print

Print


Commit in projects/lcdd/trunk/examples/old on MAIN
CellReadout2D.lcdd+132added 3217
KillTracks.lcdd+109added 3217
SteelBox.lcdd+131added 3217
cal/barr.lcdd+2013added 3217
   /ecal.lcdd+339added 3217
   /ecap.lcdd+498added 3217
   /hcal.lcdd+992added 3217
   /optical_ecal.lcdd+1498added 3217
   /simple_optical_calorimeter.lcdd+135added 3217
empty.lcdd+82added 3217
limits.lcdd+149added 3217
mdi_bds/mdi_bds.lcdd+418added 3217
opticalsurfaces.gdml+66added 3217
sdjan03/SDJan03.lcdd+14536added 3217
       /SDJan03_lcdparms.xml+651added 3217
segtest/NPCylBarr.lcdd+195added 3217
       /NPPolyBarr.lcdd+621added 3217
       /NPPolyEcap.lcdd+498added 3217
       /PrjBarr.lcdd+304added 3217
       /PrjEcap.lcdd+208added 3217
sid/SiDEnvelope.lcdd+892added 3217
tbeam/catcher_constants.inc.xml+120added 3217
     /catcher_solids.inc.xml+22added 3217
     /catcher_structure.inc.xml+260added 3217
     /det_constants.inc.xml+20added 3217
     /det_solids.inc.xml+1added 3217
     /det_structure.inc.xml+31added 3217
     /ecal_constants.inc.xml+110added 3217
     /ecal_solids.inc.xml+13added 3217
     /ecal_structure.inc.xml+267added 3217
     /global_constants.inc.xml+22added 3217
     /global_materials.inc.xml+196added 3217
     /global_solids.inc.xml+3added 3217
     /global_structure.inc.xml+16added 3217
     /hcal_constants.inc.xml+140added 3217
     /hcal_solids.inc.xml+15added 3217
     /hcal_structure.inc.xml+345added 3217
     /materials_exp.gdml+206added 3217
     /single.sh+3added 3217
     /tb.gdml+83added 3217
     /tb.lcdd+214added 3217
     /tb_single.gdml+1288added 3217
     /tb_single_nconst.gdml+1058added 3217
template.lcdd+141added 3217
trk/trackers.lcdd+1672added 3217
+30713
45 added files
Copy old examples from SLIC to LCDD.

projects/lcdd/trunk/examples/old
CellReadout2D.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/CellReadout2D.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/CellReadout2D.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+  <header>
+    <detector name="CellReadout2D" />
+    <generator name="GeomConverter" version="1.0" file="SteelBox.xml" checksum="3713463430" />
+    <author name="Jeremy McCormick" />
+    <comment>Test of class org.lcsim.geometry.compact.converter.lcdd.TestBeamCalorimeter</comment>
+  </header>
+  <iddict>
+    <idspec name="CalHits" length="64">
+      <idfield signed="false" label="layer" length="7" start="0" />
+      <idfield signed="false" label="system" length="3" start="7" />
+      <idfield signed="true" label="ix" length="16" start="32" />
+      <idfield signed="true" label="iy" length="16" start="48" />
+    </idspec>
+  </iddict>
+  <sensitive_detectors>
+    <calorimeter name="CellReadout2DTest" ecut="0.0" eunit="MeV" verbose="0" hits_collection="CalHits">
+      <idspecref ref="CalHits" />
+      <cell_readout_2d cell_size_x="1.0" cell_size_y="1.0" lunit="cm" />
+    </calorimeter>
+  </sensitive_detectors>
+  <limits />
+  <regions>
+    <region name="TrackingRegion" store_secondaries="true" cut="10.0" lunit="mm" threshold="1.0" eunit="MeV" />
+  </regions>
+  <display />
+  <gdml>
+    <define>
+      <rotation name="identity_rot" x="0.0" y="0.0" z="0.0" unit="radian" />
+      <position name="identity_pos" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <constant name="tracking_region_radius" value="0.5*m" />
+      <constant name="tracking_region_zmax" value="1.0*m" />
+      <constant name="world_x" value="1.0*m" />
+      <constant name="world_y" value="1.0*m" />
+      <constant name="world_z" value="1.0*m" />
+      <constant name="box_x" value="2.0*cm" />
+      <constant name="box_y" value="2.0*cm" />
+      <constant name="box_z" value="1.0*mm" />
+      <position name="TestBeamCalorimeterTest_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layerType0_slice0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layer0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+    </define>
+    <materials>
+      <element name="N" formula="N" Z="7.0">
+        <atom type="A" unit="g/mol" value="14.00674" />
+      </element>
+      <element name="O" formula="O" Z="8.0">
+        <atom type="A" unit="g/mol" value="15.9994" />
+      </element>
+      <element name="Ar" formula="Ar" Z="18.0">
+        <atom type="A" unit="g/mol" value="39.948" />
+      </element>
+      <material name="Air">
+        <D type="density" unit="g/cm3" value="0.0012" />
+        <fraction n="0.754" ref="N" />
+        <fraction n="0.234" ref="O" />
+        <fraction n="0.012" ref="Ar" />
+      </material>
+      <element name="Fe" formula="Fe" Z="26.0">
+        <atom type="A" unit="g/mol" value="55.845" />
+      </element>
+      <element name="C" formula="C" Z="6.0">
+        <atom type="A" unit="g/mol" value="12.0107" />
+      </element>
+      <material name="Steel235">
+        <D value="7.85" unit="g/cm3" />
+        <fraction n="0.998" ref="Fe" />
+        <fraction n=".002" ref="C" />
+      </material>
+    </materials>
+    <solids>
+      <box name="world_box" x="world_x" y="world_y" z="world_z" />
+      <tube name="tracking_cylinder" deltaphi="6.283185307179586" rmin="0.0" rmax="tracking_region_radius" z="tracking_region_zmax" />
+      <box name="TestBeamCalorimeterTest_box" x="box_x" y="box_y" z="box_z" />
+      <box name="TestBeamCalorimeterTest_layerType0_box" x="box_x" y="box_y" z="box_z" />
+      <box name="TestBeamCalorimeterTest_layerType0_slice0_box" x="box_x" y="box_y" z="box_z" />
+    </solids>
+    <structure>
+      <volume name="TestBeamCalorimeterTest_layerType0_slice0">
+        <materialref ref="Steel235" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_slice0_box" />
+        <sdref ref="CellReadout2DTest" />
+      </volume>
+      <volume name="TestBeamCalorimeterTest_layerType0">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0_slice0" />
+          <positionref ref="TestBeamCalorimeterTest_layerType0_slice0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="slice" value="0" />
+        </physvol>
+      </volume>
+      <volume name="TestBeamCalorimeterTest_envelope">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0" />
+          <positionref ref="TestBeamCalorimeterTest_layer0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="layer" value="0" />
+        </physvol>
+      </volume>
+      <volume name="tracking_volume">
+        <materialref ref="Air" />
+        <solidref ref="tracking_cylinder" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_envelope" />
+          <positionref ref="TestBeamCalorimeterTest_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="system" value="0" />
+        </physvol>
+        <regionref ref="TrackingRegion" />
+      </volume>
+      <volume name="world_volume">
+        <materialref ref="Air" />
+        <solidref ref="world_box" />
+        <physvol>
+          <volumeref ref="tracking_volume" />
+          <positionref ref="identity_pos" />
+          <rotationref ref="identity_rot" />
+        </physvol>
+      </volume>
+    </structure>
+    <setup name="Default" version="1.0">
+      <world ref="world_volume" />
+    </setup>
+  </gdml>
+  <fields />
+</lcdd>
+

projects/lcdd/trunk/examples/old
KillTracks.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/KillTracks.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/KillTracks.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+  <header>
+    <detector name="SteelBox" />
+    <generator name="GeomConverter" version="1.0" file="SteelBox.xml" checksum="3713463430" />
+    <author name="Jeremy McCormick" />
+    <comment>Test of class org.lcsim.geometry.compact.converter.lcdd.TestBeamCalorimeter</comment>
+  </header>
+  <iddict>
+    <idspec name="CalHits" length="64">
+      <idfield signed="false" label="layer" length="7" start="0" />
+      <idfield signed="false" label="system" length="3" start="7" />
+      <idfield signed="true" label="x" length="16" start="32" />
+      <idfield signed="true" label="y" length="16" start="48" />
+    </idspec>
+  </iddict>
+  <!--
+  <sensitive_detectors>
+    <calorimeter name="TestBeamCalorimeterTest" ecut="0.0" eunit="MeV" verbose="0" hits_collection="CalHits">
+      <idspecref ref="CalHits" />
+      <grid_xyz grid_size_x="10.0" grid_size_y="10.0" grid_size_z="0.0" />
+    </calorimeter>
+  </sensitive_detectors>
+  -->
+  <limits />
+  <regions>
+    <region name="TrackingRegion" store_secondaries="true" />
+    <region name="killEmAll" store_secondaries="true" kill_tracks="true" />
+  </regions>
+  <display />
+  <gdml>
+    <define>
+      <rotation name="identity_rot" x="0.0" y="0.0" z="0.0" unit="radian" />
+      <rotation name="reflect_rot" x="3.141592653589793" y="0.0" z="0.0" unit="radian" />
+      <position name="identity_pos" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <constant name="tracking_region_zmax" value="2000.0" />
+      <constant name="world_side" value="5000.0" />
+      <constant name="box_size" value="1000.0" />
+      <constant name="tracking_region_radius" value="1000.0" />      
+      <position name="TestBeamCalorimeterTest_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layerType0_slice0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layer0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+    </define>
+    <materials>
+      <element name="N" formula="N" Z="7.0">
+        <atom type="A" unit="g/mol" value="14.00674" />
+      </element>
+      <element name="O" formula="O" Z="8.0">
+        <atom type="A" unit="g/mol" value="15.9994" />
+      </element>
+      <element name="Ar" formula="Ar" Z="18.0">
+        <atom type="A" unit="g/mol" value="39.948" />
+      </element>
+      <material name="Air">
+        <D type="density" unit="g/cm3" value="0.0000000000000000001" />
+        <fraction n="0.754" ref="N" />
+        <fraction n="0.234" ref="O" />
+        <fraction n="0.012" ref="Ar" />
+      </material>
+      <element name="Fe" formula="Fe" Z="26.0">
+        <atom type="A" unit="g/mol" value="55.845" />
+      </element>
+      <element name="C" formula="C" Z="6.0">
+        <atom type="A" unit="g/mol" value="12.0107" />
+      </element>
+      <material name="Steel235">
+        <D value="7.85" unit="g/cm3" />
+        <fraction n="0.998" ref="Fe" />
+        <fraction n=".002" ref="C" />
+      </material>
+    </materials>
+    <solids>
+      <box name="world_box" x="world_side" y="world_side" z="world_side" />
+      <tube name="tracking_cylinder" deltaphi="6.283185307179586" rmin="0.0" rmax="tracking_region_radius" z="2*tracking_region_zmax" />
+      <box name="TestBeamCalorimeterTest_box" x="box_size" y="box_size" z="box_size" />
+    </solids>
+    <structure>
+      <volume name="TestBeamCalorimeterTest_envelope">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_box" />
+        <regionref ref="killEmAll" />
+      </volume>
+      <volume name="tracking_volume">
+        <materialref ref="Air" />
+        <solidref ref="tracking_cylinder" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_envelope" />
+          <positionref ref="TestBeamCalorimeterTest_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="system" value="0" />
+        </physvol>
+        <regionref ref="TrackingRegion" />
+      </volume>
+      <volume name="world_volume">
+        <materialref ref="Air" />
+        <solidref ref="world_box" />
+        <physvol>
+          <volumeref ref="tracking_volume" />
+          <positionref ref="identity_pos" />
+          <rotationref ref="identity_rot" />
+        </physvol>
+      </volume>
+    </structure>
+    <setup name="Default" version="1.0">
+      <world ref="world_volume" />
+    </setup>
+  </gdml>
+  <fields />
+</lcdd>

projects/lcdd/trunk/examples/old
SteelBox.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/SteelBox.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/SteelBox.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+  <header>
+    <detector name="SteelBox" />
+    <generator name="GeomConverter" version="1.0" file="SteelBox.xml" checksum="3713463430" />
+    <author name="Jeremy McCormick" />
+    <comment>Test of class org.lcsim.geometry.compact.converter.lcdd.TestBeamCalorimeter</comment>
+  </header>
+  <iddict>
+    <idspec name="CalHits" length="64">
+      <idfield signed="false" label="layer" length="7" start="0" />
+      <idfield signed="false" label="system" length="3" start="7" />
+      <idfield signed="true" label="x" length="16" start="32" />
+      <idfield signed="true" label="y" length="16" start="48" />
+    </idspec>
+  </iddict>
+  <sensitive_detectors>
+    <calorimeter name="TestBeamCalorimeterTest" ecut="0.0" eunit="MeV" verbose="0" hits_collection="CalHits">
+      <idspecref ref="CalHits" />
+      <grid_xyz grid_size_x="10.0" grid_size_y="10.0" grid_size_z="0.0" />
+    </calorimeter>
+  </sensitive_detectors>
+  <limits />
+  <regions>
+    <region name="TrackingRegion" store_secondaries="true" cut="10.0" lunit="mm" threshold="1.0" eunit="MeV" />
+  </regions>
+  <display />
+  <gdml>
+    <define>
+      <rotation name="identity_rot" x="0.0" y="0.0" z="0.0" unit="radian" />
+      <rotation name="reflect_rot" x="3.141592653589793" y="0.0" z="0.0" unit="radian" />
+      <position name="identity_pos" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <constant name="world_x" value="50000.0" />
+      <constant name="tracking_region_zmax" value="2000.0" />
+      <constant name="world_z" value="50000.0" />
+      <constant name="world_side" value="50000.0" />
+      <constant name="world_y" value="50000.0" />
+      <constant name="cm" value="10.0" />
+      <constant name="tracking_region_radius" value="10000.0" />
+      <position name="TestBeamCalorimeterTest_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layerType0_slice0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layer0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+    </define>
+    <materials>
+      <element name="N" formula="N" Z="7.0">
+        <atom type="A" unit="g/mol" value="14.00674" />
+      </element>
+      <element name="O" formula="O" Z="8.0">
+        <atom type="A" unit="g/mol" value="15.9994" />
+      </element>
+      <element name="Ar" formula="Ar" Z="18.0">
+        <atom type="A" unit="g/mol" value="39.948" />
+      </element>
+      <material name="Air">
+        <D type="density" unit="g/cm3" value="0.0012" />
+        <fraction n="0.754" ref="N" />
+        <fraction n="0.234" ref="O" />
+        <fraction n="0.012" ref="Ar" />
+      </material>
+      <element name="Fe" formula="Fe" Z="26.0">
+        <atom type="A" unit="g/mol" value="55.845" />
+      </element>
+      <element name="C" formula="C" Z="6.0">
+        <atom type="A" unit="g/mol" value="12.0107" />
+      </element>
+      <material name="Steel235">
+        <D value="7.85" unit="g/cm3" />
+        <fraction n="0.998" ref="Fe" />
+        <fraction n=".002" ref="C" />
+      </material>
+    </materials>
+    <solids>
+      <box name="world_box" x="world_x" y="world_y" z="world_z" />
+      <tube name="tracking_cylinder" deltaphi="6.283185307179586" rmin="0.0" rmax="tracking_region_radius" z="2*tracking_region_zmax" />
+      <box name="TestBeamCalorimeterTest_box" x="5000.0" y="5000.0" z="5000.0" />
+      <box name="TestBeamCalorimeterTest_layerType0_box" x="5000.0" y="5000.0" z="5000.0" />
+      <box name="TestBeamCalorimeterTest_layerType0_slice0_box" x="5000.0" y="5000.0" z="5000.0" />
+    </solids>
+    <structure>
+      <volume name="TestBeamCalorimeterTest_layerType0_slice0">
+        <materialref ref="Steel235" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_slice0_box" />
+      </volume>
+      <volume name="TestBeamCalorimeterTest_layerType0">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0_slice0" />
+          <positionref ref="TestBeamCalorimeterTest_layerType0_slice0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="slice" value="0" />
+        </physvol>
+      </volume>
+      <volume name="TestBeamCalorimeterTest_envelope">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0" />
+          <positionref ref="TestBeamCalorimeterTest_layer0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="layer" value="0" />
+        </physvol>
+      </volume>
+      <volume name="tracking_volume">
+        <materialref ref="Air" />
+        <solidref ref="tracking_cylinder" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_envelope" />
+          <positionref ref="TestBeamCalorimeterTest_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="system" value="0" />
+        </physvol>
+        <regionref ref="TrackingRegion" />
+      </volume>
+      <volume name="world_volume">
+        <materialref ref="Air" />
+        <solidref ref="world_box" />
+        <physvol>
+          <volumeref ref="tracking_volume" />
+          <positionref ref="identity_pos" />
+          <rotationref ref="identity_rot" />
+        </physvol>
+      </volume>
+    </structure>
+    <setup name="Default" version="1.0">
+      <world ref="world_volume" />
+    </setup>
+  </gdml>
+  <fields />
+</lcdd>
+

projects/lcdd/trunk/examples/old/cal
barr.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/barr.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/barr.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,2013 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+$Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/cal/barr.lcdd,v 1.15 2005-03-25 02:43:31 jeremy Exp $
+
+geometry for stdhep example
+
+-->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="cal_barr_example"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      A simple, octagonal cal barrel with 30 active and absorber layers
+      plus a dummy tracker area for illustrative purposes.
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+    <calorimeter name="CalBarrSD"
+		 hits_collection="CalBarrHits">
+      <grid_xyz grid_size_x="1.0"
+		grid_size_y="1.0"
+		grid_size_z="0.0"
+		lunit="mm" 
+		/>
+    </calorimeter>
+
+    <tracker name="TrackerSD"
+	     hits_collection="TrackerHits" />
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+
+    <region name="CalBarrRegion"
+	    store_secondaries="true"
+	    cut="10.0"
+	    lunit="mm"
+	    threshold="1.0"
+	    eunit="MeV"
+	    />
+
+    <region name="TrackerRegion"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="cm" 
+	    threshold="1.0"
+	    eunit="MeV"
+	    />
+
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="EnvVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="AbsVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="SensVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+      
+      <!-- PI -->
+      <constant name="TWOPI" value="2.*pi"/>     
+
+      <!-- ident -->
+      <position name="identity_pos" />
+      <rotation name="identity_rot" />
+
+      <!-- "user parameters" -->
+      <constant name="num_sides"        value="8" />
+      <constant name="inner_radius"     value="500.0*mm" />
+      <constant name="sect_long_dim"    value="1000.0" /> 
+
+      <!-- tracker -->
+      <position name="tracker_pos" />
+      <rotation name="tracker_rot" />
+
+      <!-- cal envelope -->
+      <position name="cal_pos" />
+      <rotation name="cal_rot" />
+
+      <!-- layers -->
+      <constant name="abs_thickness"     value="20.0*mm" />
+      <constant name="sens_thickness"    value="5.0*mm" />
+      <constant name="layer_thickness"   value="abs_thickness + sens_thickness" />
+      <constant name="num_layers"        value="30" />      
+
+      <!-- section -->
+      <constant name="sect_thickness"    value="num_layers * layer_thickness" />
+      <constant name="sect_center_radius" value="inner_radius + sect_thickness / 2" />
+      <constant name="outer_radius" value="inner_radius + sect_thickness" />
+
+      <constant name="inner_angle"      value="(360/num_sides)" />
+      <constant name="half_inner_angle" value="inner_angle/2"/>
+
+      <constant name="outer_radius_hyp" value="outer_radius / ( cos( half_inner_angle * deg ) )" />
+
+      <constant name="inner_face"       value="( inner_radius * tan( half_inner_angle * deg ) ) * 2" />      
+      <constant name="outer_face"       value="( outer_radius * tan( half_inner_angle * deg ) ) * 2" />
+
+      <constant name="sect_rot_x"   value="90.0 * deg" />      
+      <constant name="sect_start_rot_y" value="0.0" />
+      <constant name="sect_rot" value="-sect_start_rot_y/2" />
+
+      <constant name="sect_start_place_angle" value="0.0" />
+
+      <!-- starting params -->
+      <constant name="irot" value="inner_angle * deg" />
+      <constant name="offrot" value="-irot / 2" />
+      <constant name="placerot" value="-offrot" />
+
+      <!-- sect0 -->
+      <constant name="sect0_rot_y" value="-offrot" />
+      <constant name="sect0_pos_x" value="-sect_center_radius * sin( sect0_rot_y )" />
+      <constant name="sect0_pos_y" value="sect_center_radius * cos( sect0_rot_y )" />
+
+      <position name="sect0_pos"
+		x="sect0_pos_x" 
+		y="sect0_pos_y"
+		z="0.0" />
+
+      <rotation name="sect0_rot"
+		x="sect_rot_x"
+		y="sect0_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect1 -->
+      <constant name="sect1_rot_y" value="sect0_rot_y - irot" />
+      <constant name="sect1_pos_x" value="-sect_center_radius * sin( sect1_rot_y )" />
+      <constant name="sect1_pos_y" value="sect_center_radius * cos( sect1_rot_y )" />
+
+      <position name="sect1_pos"
+		x="sect1_pos_x"
+		y="sect1_pos_y"
+		z="0.0" />
+
+      <rotation name="sect1_rot"
+		x="sect_rot_x"
+		y="sect1_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect2 -->
+      <constant name="sect2_rot_y" value="sect1_rot_y - irot" />
+      <constant name="sect2_pos_x" value="-sect_center_radius * sin( sect2_rot_y )" />
+      <constant name="sect2_pos_y" value="sect_center_radius * cos( sect2_rot_y )" />
+
+      <position name="sect2_pos"
+		x="sect2_pos_x"
+		y="sect2_pos_y"
+		z="0.0" />
+
+      <rotation name="sect2_rot"
+		x="sect_rot_x"
+		y="sect2_rot_y"
+		z="0.0" />
+
+      <!-- sect3 -->
+      <constant name="sect3_rot_y" value="sect2_rot_y - irot" />
+      <constant name="sect3_pos_x" value="-sect_center_radius * sin( sect3_rot_y )" />
+      <constant name="sect3_pos_y" value="sect_center_radius * cos( sect3_rot_y )" />
+
+      <position name="sect3_pos"
+		x="sect3_pos_x"
+		y="sect3_pos_y"
+		z="0.0" />
+
+      <rotation name="sect3_rot"
+		x="sect_rot_x"
+		y="sect3_rot_y"
+		z="0.0" />
+
+      <!-- sect4 -->
+      <constant name="sect4_rot_y" value="sect3_rot_y - irot" />
+      <constant name="sect4_pos_x" value="-sect_center_radius * sin( sect4_rot_y )" />
+      <constant name="sect4_pos_y" value="sect_center_radius * cos( sect4_rot_y )" />
+
+      <position name="sect4_pos"
+		x="sect4_pos_x"
+		y="sect4_pos_y"
+		z="0.0" />
+
+      <rotation name="sect4_rot"
+		x="sect_rot_x"
+		y="sect4_rot_y"
+		z="0.0" />
+
+      <!-- sect5 -->
+      <constant name="sect5_rot_y" value="sect4_rot_y - irot" />
+      <constant name="sect5_pos_x" value="-sect_center_radius * sin( sect5_rot_y )" />
+      <constant name="sect5_pos_y" value="sect_center_radius * cos( sect5_rot_y )" />
+
+      <position name="sect5_pos"
+		x="sect5_pos_x"
+		y="sect5_pos_y"
+		z="0.0" />
+
+      <rotation name="sect5_rot"
+		x="sect_rot_x"
+		y="sect5_rot_y"
+		z="0.0" />
+
+      <!-- sect6 -->
+      <constant name="sect6_rot_y" value="sect5_rot_y - irot" />
+      <constant name="sect6_pos_x" value="-sect_center_radius * sin( sect6_rot_y )" />
+      <constant name="sect6_pos_y" value="sect_center_radius * cos( sect6_rot_y )" />
+
+      <position name="sect6_pos"
+		x="sect6_pos_x"
+		y="sect6_pos_y"
+		z="0.0" />
+
+      <rotation name="sect6_rot"
+		x="sect_rot_x"
+		y="sect6_rot_y"
+		z="0.0" />
+
+      <!-- sect7 -->
+      <constant name="sect7_rot_y" value="sect6_rot_y - irot" />
+      <constant name="sect7_pos_x" value="-sect_center_radius * sin( sect7_rot_y )" />
+      <constant name="sect7_pos_y" value="sect_center_radius * cos( sect7_rot_y )" />
+
+      <position name="sect7_pos"
+		x="sect7_pos_x"
+		y="sect7_pos_y"
+		z="0.0" />
+
+      <rotation name="sect7_rot"
+		x="sect_rot_x"
+		y="sect7_rot_y"
+		z="0.0" />
+
+      <!-- angle subtended by inner_face and outside section radius -->
+      <constant name="layer_outer_angle" value="(180 - inner_angle) / 2" />
+
+      <!-- angle subtended by Z side of the layer box and sect side along layer -->
+      <constant name="layer_inner_angle" value="(180 - 90 - layer_outer_angle) * deg" /> 
+
+      <!-- incr layer in x dim -->
+      <constant name="sens_incr_x" value="sens_thickness * tan( layer_inner_angle ) * 2" />
+      <constant name="abs_incr_x"  value="abs_thickness * tan ( layer_inner_angle ) * 2" />
+      <constant name="layer_incr_z" value="sens_thickness / 2 + abs_thickness / 2" />
+
+      <!-- sensitive 0 -->
+      <constant name="sens0_z"          value="-( sect_thickness/2 ) + sens_thickness/2"/>
+      <position name="sens0_pos"        z="sens0_z" />
+      <constant name="sens0_dim_x"      value="inner_face" />
+
+      <!-- absorber 0 -->
+      <constant name="abs0_z"           value="sens0_z + layer_incr_z"/>
+      <position name="abs0_pos"         z="abs0_z" />      
+      <constant name="abs0_dim_x"       value="inner_face + sens_incr_x" />
+
+      <!-- sensitive 1 -->
+      <constant name="sens1_z"          value="abs0_z + layer_incr_z" />
+      <position name="sens1_pos"        z="sens1_z" />
+      <constant name="sens1_dim_x"      value="abs0_dim_x + abs_incr_x" />
+
+      <!-- absorber 1 -->
+      <constant name="abs1_z"           value="sens1_z + layer_incr_z" />
+      <position name="abs1_pos"         z="abs1_z" />
+      <constant name="abs1_dim_x"       value="sens1_dim_x + sens_incr_x" />      
+
+      <!-- sensitive 2 -->
+      <constant name="sens2_z"          value="abs1_z + layer_incr_z" />
+      <position name="sens2_pos"        z="sens2_z" />
+      <constant name="sens2_dim_x"      value="abs1_dim_x + abs_incr_x" />
+
+      <!-- absorber 2 -->
+      <constant name="abs2_z"           value="sens2_z + layer_incr_z" />
+      <position name="abs2_pos"         z="abs2_z" />
+      <constant name="abs2_dim_x"       value="sens2_dim_x + sens_incr_x" />
+
+      <!-- sensitive 3 -->
+      <constant name="sens3_z"          value="abs2_z + layer_incr_z" />
+      <position name="sens3_pos"        z="sens3_z" />
+      <constant name="sens3_dim_x"      value="abs2_dim_x + abs_incr_x" />
+
+      <!-- absorber 3 -->
+      <constant name="abs3_z"           value="sens3_z + layer_incr_z" />
+      <position name="abs3_pos"         z="abs3_z" />
+      <constant name="abs3_dim_x"       value="sens3_dim_x + sens_incr_x" />
+
+      <!-- sensitive 4 -->
+      <constant name="sens4_z"          value="abs3_z + layer_incr_z" />
+      <position name="sens4_pos"        z="sens4_z" />
+      <constant name="sens4_dim_x"      value="abs3_dim_x + abs_incr_x" />
+
+      <!-- absorber 4 -->
+      <constant name="abs4_z"           value="sens4_z + layer_incr_z" />
+      <position name="abs4_pos"         z="abs4_z" />
+      <constant name="abs4_dim_x"       value="sens4_dim_x + sens_incr_x" />
+
+      <!-- sensitive 5 -->
+      <constant name="sens5_z"          value="abs4_z + layer_incr_z" />
+      <position name="sens5_pos"        z="sens5_z" />
+      <constant name="sens5_dim_x"      value="abs4_dim_x + abs_incr_x" />
+
+      <!-- absorber 5 -->
+      <constant name="abs5_z"           value="sens5_z + layer_incr_z" />
+      <position name="abs5_pos"         z="abs5_z" />
+      <constant name="abs5_dim_x"       value="sens5_dim_x + sens_incr_x" />
+
+      <!-- sensitive 6 -->
+      <constant name="sens6_z"          value="abs5_z + layer_incr_z" />
+      <position name="sens6_pos"        z="sens6_z" />
+      <constant name="sens6_dim_x"      value="abs5_dim_x + abs_incr_x" />
+
+      <!-- absorber 6 -->
+      <constant name="abs6_z"           value="sens6_z + layer_incr_z" />
+      <position name="abs6_pos"         z="abs6_z" />
+      <constant name="abs6_dim_x"       value="sens6_dim_x + sens_incr_x" />
+
+      <!-- sensitive 7 -->
+      <constant name="sens7_z"          value="abs6_z + layer_incr_z" />
+      <position name="sens7_pos"        z="sens7_z" />
+      <constant name="sens7_dim_x"      value="abs6_dim_x + abs_incr_x" />
+
+      <!-- absorber 7 -->
+      <constant name="abs7_z"           value="sens7_z + layer_incr_z" />
+      <position name="abs7_pos"         z="abs7_z" />
+      <constant name="abs7_dim_x"       value="sens7_dim_x + sens_incr_x" />
+
+      <!-- sensitive 8 -->
+      <constant name="sens8_z"          value="abs7_z + layer_incr_z" />
+      <position name="sens8_pos"        z="sens8_z" />
+      <constant name="sens8_dim_x"      value="abs7_dim_x + abs_incr_x" />
+
+      <!-- absorber 8 -->
+      <constant name="abs8_z"           value="sens8_z + layer_incr_z" />
+      <position name="abs8_pos"         z="abs8_z" />
+      <constant name="abs8_dim_x"       value="sens8_dim_x + sens_incr_x" />
+
+      <!-- sensitive 9 -->
+      <constant name="sens9_z"          value="abs8_z + layer_incr_z" />
+      <position name="sens9_pos"        z="sens9_z" />
+      <constant name="sens9_dim_x"      value="abs8_dim_x + abs_incr_x" />
+
+      <!-- absorber 9 -->
+      <constant name="abs9_z"           value="sens9_z + layer_incr_z" />
+      <position name="abs9_pos"         z="abs9_z" />
+      <constant name="abs9_dim_x"       value="sens9_dim_x + sens_incr_x" />
+
+      <!-- sensitive 10 -->
+      <constant name="sens10_z"          value="abs9_z + layer_incr_z" />
+      <position name="sens10_pos"        z="sens10_z" />
+      <constant name="sens10_dim_x"      value="abs9_dim_x + abs_incr_x" />
+
+      <!-- absorber 10 -->
+      <constant name="abs10_z"           value="sens10_z + layer_incr_z" />
+      <position name="abs10_pos"         z="abs10_z" />
+      <constant name="abs10_dim_x"       value="sens10_dim_x + sens_incr_x" />
+
+      <!-- sensitive 11 -->
+      <constant name="sens11_z"          value="abs10_z + layer_incr_z" />
+      <position name="sens11_pos"        z="sens11_z" />
+      <constant name="sens11_dim_x"      value="abs10_dim_x + abs_incr_x" />
+
+      <!-- absorber 11 -->
+      <constant name="abs11_z"           value="sens11_z + layer_incr_z" />
+      <position name="abs11_pos"         z="abs11_z" />
+      <constant name="abs11_dim_x"       value="sens11_dim_x + sens_incr_x" />
+
+      <!-- sensitive 12 -->
+      <constant name="sens12_z"          value="abs11_z + layer_incr_z" />
+      <position name="sens12_pos"        z="sens12_z" />
+      <constant name="sens12_dim_x"      value="abs11_dim_x + abs_incr_x" />
+
+      <!-- absorber 12 -->
+      <constant name="abs12_z"           value="sens12_z + layer_incr_z" />
+      <position name="abs12_pos"         z="abs12_z" />
+      <constant name="abs12_dim_x"       value="sens12_dim_x + sens_incr_x" />
+
+      <!-- sensitive 13 -->
+      <constant name="sens13_z"          value="abs12_z + layer_incr_z" />
+      <position name="sens13_pos"        z="sens13_z" />
+      <constant name="sens13_dim_x"      value="abs12_dim_x + abs_incr_x" />
+
+      <!-- absorber 13 -->
+      <constant name="abs13_z"           value="sens13_z + layer_incr_z" />
+      <position name="abs13_pos"         z="abs13_z" />
+      <constant name="abs13_dim_x"       value="sens13_dim_x + sens_incr_x" />
+
+      <!-- sensitive 14 -->
+      <constant name="sens14_z"          value="abs13_z + layer_incr_z" />
+      <position name="sens14_pos"        z="sens14_z" />
+      <constant name="sens14_dim_x"      value="abs13_dim_x + abs_incr_x" />
+
+      <!-- absorber 14 -->
+      <constant name="abs14_z"           value="sens14_z + layer_incr_z" />
+      <position name="abs14_pos"         z="abs14_z" />
+      <constant name="abs14_dim_x"       value="sens14_dim_x + sens_incr_x" />
+
+      <!-- sensitive 15 -->
+      <constant name="sens15_z"          value="abs14_z + layer_incr_z" />
+      <position name="sens15_pos"        z="sens15_z" />
+      <constant name="sens15_dim_x"      value="abs14_dim_x + abs_incr_x" />
+
+      <!-- absorber 15 -->
+      <constant name="abs15_z"           value="sens15_z + layer_incr_z" />
+      <position name="abs15_pos"         z="abs15_z" />
+      <constant name="abs15_dim_x"       value="sens15_dim_x + sens_incr_x" />
+
+      <!-- sensitive 16 -->
+      <constant name="sens16_z"          value="abs15_z + layer_incr_z" />
+      <position name="sens16_pos"        z="sens16_z" />
+      <constant name="sens16_dim_x"      value="abs15_dim_x + abs_incr_x" />
+
+      <!-- absorber 16 -->
+      <constant name="abs16_z"           value="sens16_z + layer_incr_z" />
+      <position name="abs16_pos"         z="abs16_z" />
+      <constant name="abs16_dim_x"       value="sens16_dim_x + sens_incr_x" />
+
+      <!-- sensitive 17 -->
+      <constant name="sens17_z"          value="abs16_z + layer_incr_z" />
+      <position name="sens17_pos"        z="sens17_z" />
+      <constant name="sens17_dim_x"      value="abs16_dim_x + abs_incr_x" />
+
+      <!-- absorber 17 -->
+      <constant name="abs17_z"           value="sens17_z + layer_incr_z" />
+      <position name="abs17_pos"         z="abs17_z" />
+      <constant name="abs17_dim_x"       value="sens17_dim_x + sens_incr_x" />
+
+      <!-- sensitive 18 -->
+      <constant name="sens18_z"          value="abs17_z + layer_incr_z" />
+      <position name="sens18_pos"        z="sens18_z" />
+      <constant name="sens18_dim_x"      value="abs17_dim_x + abs_incr_x" />
+
+      <!-- absorber 18 -->
+      <constant name="abs18_z"           value="sens18_z + layer_incr_z" />
+      <position name="abs18_pos"         z="abs18_z" />
+      <constant name="abs18_dim_x"       value="sens18_dim_x + sens_incr_x" />
+
+      <!-- sensitive 19 -->
+      <constant name="sens19_z"          value="abs18_z + layer_incr_z" />
+      <position name="sens19_pos"        z="sens19_z" />
+      <constant name="sens19_dim_x"      value="abs18_dim_x + abs_incr_x" />
+
+      <!-- absorber 19 -->
+      <constant name="abs19_z"           value="sens19_z + layer_incr_z" />
+      <position name="abs19_pos"         z="abs19_z" />
+      <constant name="abs19_dim_x"       value="sens19_dim_x + sens_incr_x" />
+
+      <!-- sensitive 20 -->
+      <constant name="sens20_z"          value="abs19_z + layer_incr_z" />
+      <position name="sens20_pos"        z="sens20_z" />
+      <constant name="sens20_dim_x"      value="abs19_dim_x + abs_incr_x" />
+
+      <!-- absorber 20 -->
+      <constant name="abs20_z"           value="sens20_z + layer_incr_z" />
+      <position name="abs20_pos"         z="abs20_z" />
+      <constant name="abs20_dim_x"       value="sens20_dim_x + sens_incr_x" />
+
+      <!-- sensitive 21 -->
+      <constant name="sens21_z"          value="abs20_z + layer_incr_z" />
+      <position name="sens21_pos"        z="sens21_z" />
+      <constant name="sens21_dim_x"      value="abs20_dim_x + abs_incr_x" />
+
+      <!-- absorber 21 -->
+      <constant name="abs21_z"           value="sens21_z + layer_incr_z" />
+      <position name="abs21_pos"         z="abs21_z" />
+      <constant name="abs21_dim_x"       value="sens21_dim_x + sens_incr_x" />
+
+      <!-- sensitive 22 -->
+      <constant name="sens22_z"          value="abs21_z + layer_incr_z" />
+      <position name="sens22_pos"        z="sens22_z" />
+      <constant name="sens22_dim_x"      value="abs21_dim_x + abs_incr_x" />
+
+      <!-- absorber 22 -->
+      <constant name="abs22_z"           value="sens22_z + layer_incr_z" />
+      <position name="abs22_pos"         z="abs22_z" />
+      <constant name="abs22_dim_x"       value="sens22_dim_x + sens_incr_x" />
+
+      <!-- sensitive 23 -->
+      <constant name="sens23_z"          value="abs22_z + layer_incr_z" />
+      <position name="sens23_pos"        z="sens23_z" />
+      <constant name="sens23_dim_x"      value="abs22_dim_x + abs_incr_x" />
+
+      <!-- absorber 23 -->
+      <constant name="abs23_z"           value="sens23_z + layer_incr_z" />
+      <position name="abs23_pos"         z="abs23_z" />
+      <constant name="abs23_dim_x"       value="sens23_dim_x + sens_incr_x" />
+
+      <!-- sensitive 24 -->
+      <constant name="sens24_z"          value="abs23_z + layer_incr_z" />
+      <position name="sens24_pos"        z="sens24_z" />
+      <constant name="sens24_dim_x"      value="abs23_dim_x + abs_incr_x" />
+
+      <!-- absorber 24 -->
+      <constant name="abs24_z"           value="sens24_z + layer_incr_z" />
+      <position name="abs24_pos"         z="abs24_z" />
+      <constant name="abs24_dim_x"       value="sens24_dim_x + sens_incr_x" />
+
+      <!-- sensitive 25 -->
+      <constant name="sens25_z"          value="abs24_z + layer_incr_z" />
+      <position name="sens25_pos"        z="sens25_z" />
+      <constant name="sens25_dim_x"      value="abs24_dim_x + abs_incr_x" />
+
+      <!-- absorber 25 -->
+      <constant name="abs25_z"           value="sens25_z + layer_incr_z" />
+      <position name="abs25_pos"         z="abs25_z" />
+      <constant name="abs25_dim_x"       value="sens25_dim_x + sens_incr_x" />
+
+      <!-- sensitive 26 -->
+      <constant name="sens26_z"          value="abs25_z + layer_incr_z" />
+      <position name="sens26_pos"        z="sens26_z" />
+      <constant name="sens26_dim_x"      value="abs25_dim_x + abs_incr_x" />
+
+      <!-- absorber 26 -->
+      <constant name="abs26_z"           value="sens26_z + layer_incr_z" />
+      <position name="abs26_pos"         z="abs26_z" />
+      <constant name="abs26_dim_x"       value="sens26_dim_x + sens_incr_x" />
+
+      <!-- sensitive 27 -->
+      <constant name="sens27_z"          value="abs26_z + layer_incr_z" />
+      <position name="sens27_pos"        z="sens27_z" />
+      <constant name="sens27_dim_x"      value="abs26_dim_x + abs_incr_x" />
+
+      <!-- absorber 27 -->
+      <constant name="abs27_z"           value="sens27_z + layer_incr_z" />
+      <position name="abs27_pos"         z="abs27_z" />
+      <constant name="abs27_dim_x"       value="sens27_dim_x + sens_incr_x" />
+
+      <!-- sensitive 28 -->
+      <constant name="sens28_z"          value="abs27_z + layer_incr_z" />
+      <position name="sens28_pos"        z="sens28_z" />
+      <constant name="sens28_dim_x"      value="abs27_dim_x + abs_incr_x" />
+
+      <!-- absorber 28 -->
+      <constant name="abs28_z"           value="sens28_z + layer_incr_z" />
+      <position name="abs28_pos"         z="abs28_z" />
+      <constant name="abs28_dim_x"       value="sens28_dim_x + sens_incr_x" />
+
+      <!-- sensitive 29 -->
+      <constant name="sens29_z"          value="abs28_z + layer_incr_z" />
+      <position name="sens29_pos"        z="sens29_z" />
+      <constant name="sens29_dim_x"      value="abs28_dim_x + abs_incr_x" />
+
+      <!-- absorber 29 -->
+      <constant name="abs29_z"           value="sens29_z + layer_incr_z" />
+      <position name="abs29_pos"         z="abs29_z" />
+      <constant name="abs29_dim_x"       value="sens29_dim_x + sens_incr_x" />
+
+      <!-- world -->
+      <constant name="world_side"       value="7000.0" />
+    </define>
+
+    <materials>
+
+      <element  name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value=" 39.9480" />
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" formula="Fe" Z="26.">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0" N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0" N="16" >
+	<atom type="A" unit="g/mol" value="16.0" />
+      </element>
+
+      <element name="Silicon_e" formula="Si" Z="14.0" N="28" >
+	<atom type="A" unit="g/mol" value="28.09" />
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012" />
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="StainlessSteel">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+      <material name="Silicon" >
+	<D value="8.72" unit="g/cm3" />
+	<fraction n="1.0" ref="Silicon_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box name="world_box"
+	   x="world_side"
+	   y="world_side"
+	   z="world_side" 
+	   />
+
+      <tube name="tracker_tube" 
+	    z="sect_long_dim" 
+	    rmax="inner_radius" 
+	    rmin="0.0"
+	    deltaphi="TWOPI"/>
+
+      <tube name="cal_tube"
+	    z="sect_long_dim"
+	    rmax="outer_radius_hyp"
+	    rmin="inner_radius"
+	    deltaphi="TWOPI"
+	    />
+
+      <trd name="sect_trd" 
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sect_long_dim"
+	   y2="sect_long_dim"
+	   z="sect_thickness"
+	   />
+
+      <box name="sens0_box"
+	   x="sens0_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs0_box"
+	   x="abs0_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <box name="sens1_box"
+	   x="sens1_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs1_box"
+	   x="abs1_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <box name="sens2_box"
+	   x="sens2_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs2_box"
+	   x="abs2_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 3 solids -->
+      <box name="sens3_box"
+	   x="sens3_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs3_box"
+	   x="abs3_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 4 solids -->
+      <box name="sens4_box"
+	   x="sens4_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs4_box"
+	   x="abs4_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 5 solids -->
+      <box name="sens5_box"
+	   x="sens5_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs5_box"
+	   x="abs5_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 6 solids -->
+      <box name="sens6_box"
+	   x="sens6_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs6_box"
+	   x="abs6_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 7 solids -->
+      <box name="sens7_box"
+	   x="sens7_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs7_box"
+	   x="abs7_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 8 solids -->
+      <box name="sens8_box"
+	   x="sens8_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs8_box"
+	   x="abs8_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 9 solids -->
+      <box name="sens9_box"
+	   x="sens9_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs9_box"
+	   x="abs9_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 10 solids -->
+      <box name="sens10_box"
+	   x="sens10_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs10_box"
+	   x="abs10_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 11 solids -->
+      <box name="sens11_box"
+	   x="sens11_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs11_box"
+	   x="abs11_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 12 solids -->
+      <box name="sens12_box"
+	   x="sens12_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs12_box"
+	   x="abs12_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 13 solids -->
+      <box name="sens13_box"
+	   x="sens13_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs13_box"
+	   x="abs13_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 14 solids -->
+      <box name="sens14_box"
+	   x="sens14_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs14_box"
+	   x="abs14_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 15 solids -->
+      <box name="sens15_box"
+	   x="sens15_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs15_box"
+	   x="abs15_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 16 solids -->
+      <box name="sens16_box"
+	   x="sens16_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs16_box"
+	   x="abs16_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 17 solids -->
+      <box name="sens17_box"
+	   x="sens17_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs17_box"
+	   x="abs17_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 18 solids -->
+      <box name="sens18_box"
+	   x="sens18_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs18_box"
+	   x="abs18_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 19 solids -->
+      <box name="sens19_box"
+	   x="sens19_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs19_box"
+	   x="abs19_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 20 solids -->
+      <box name="sens20_box"
+	   x="sens20_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs20_box"
+	   x="abs20_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 21 solids -->
+      <box name="sens21_box"
+	   x="sens21_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs21_box"
+	   x="abs21_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 22 solids -->
+      <box name="sens22_box"
+	   x="sens22_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs22_box"
+	   x="abs22_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <!-- 23 solids -->
+      <box name="sens23_box"
+	   x="sens23_dim_x"
[truncated at 1000 lines; 1016 more skipped]

projects/lcdd/trunk/examples/old/cal
ecal.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/ecal.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/ecal.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Descciption of ECal calorimeter from: NIMA 487 (2002) 291-307
+-->
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+   <header>
+      <detector name="ECAL" version="1.0" />
+      <author name="Tony Johnson" email="[log in to unmask]"/>
+      <generator name="DummyGenerator" version="1.0" file="DummyCompactFile.xml" checksum="0" />
+      <comment>ECAL:  NIMA 487 (2002) 291-307</comment>
+   </header>
+
+   <!-- iddict not used in this example -->
+   <iddict/>
+   
+   <!--  Specifiy which detector volumes should be considered "sensitive", and how they 
+         should be read out. (We use a 1mm grid, far finer segmentation than used in the 
+         real calorimeter described in NIMA 487 (2002) 291-307, since it allows the hits
+         to be visualized better. Since we are only interested in the total energy deposited
+         in the layers, and since we are ignoring gaps between pads, this is good enough -->
+   <sensitive_detectors>
+      <calorimeter name="ECAL" hits_collection="ECalHits">
+         <grid_xyz grid_size_x="1.0"
+               grid_size_y="1.0"
+               grid_size_z="0.0"
+               lunit="mm"/>
+      </calorimeter>
+   </sensitive_detectors>
+
+   <!-- limits not used in this example -->
+   <limits/>
+   
+   <!-- We put the entire detector into a detector region and specify default cuts. We do not
+        store secondary particles, since this would greatly increase the size of the output file -->
+   <regions>
+      <region name="DetectorRegion"
+            store_secondaries="false"
+            cut="1.0"
+            lunit="mm"
+            threshold="1.0"
+            eunit="MeV" />
+   </regions>
+
+   <!-- Set some simple visibility attributes. We set the lead layers to be bluish, and the 
+        scintillator layers to be orange -->
+   
+   <display>
+      <vis name="InvisibleVis"
+            visible="false"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="1.0" B="1.0" alpha="1.0" />
+      </vis>
+
+      <vis name="LeadVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="0.0" G="0.5" B="1.0" alpha="1.0" />
+      </vis>
+      <vis name="ScintillatorVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="0.5" B="0.0" alpha="1.0" />
+      </vis>
+
+   </display>
+
+   <!-- Beginning of the standard GDML content section -->
+   <gdml>
+
+    <!-- Define constants. We define the position of all the elements here, as well as the sizes of the volumes.
+         Since GDML does not support any sort of loop construct, we must specify the position of each layer explicitly -->
+      <define>
+         <!-- ecal_constants.inc, ecal constants -->
+         <!-- ecal slice thicknesses -->
+         <constant name="ecal_lead_thickness" value="8*mm" />
+         <constant name="ecal_scintillator_thickness" value="2*mm" />
+
+         <!-- ecal layer thickness -->
+         <constant name="ecal_layer_thickness" value="ecal_lead_thickness + ecal_scintillator_thickness " />
+         <constant name="ecal_layer_half_thickness" value="ecal_layer_thickness/2" />
+
+         <!-- ecal layer box dims -->
+         <constant name="ecal_layer_x" value="100.0*cm" />
+         <constant name="ecal_layer_y" value="100.0*cm" />
+         <constant name="ecal_layer_z" value="ecal_layer_thickness" />
+
+         <!-- ecal number of layers 
+               must match the layJ#_z, lay#_pos given below
+         -->
+         <constant name="ecal_num_layers" value="18" />
+
+         <!-- ecal dims -->
+         <constant name="ecal_x" value="ecal_layer_x" />
+         <constant name="ecal_y" value="ecal_layer_y" />
+         <constant name="ecal_z" value="ecal_num_layers * ecal_layer_thickness" />
+         <constant name="ecal_half_z" value="ecal_z/2" />
+
+         <!-- ecal slice z in layer -->
+         <constant name="ecal_lead_z" value="-ecal_layer_half_thickness + ecal_lead_thickness/2" />
+         <constant name="ecal_scintillator_z" value="ecal_lead_z + ecal_lead_thickness/2 + ecal_scintillator_thickness/2" />
+
+         <!-- ecal slice rel pos in layer -->
+         <position name="ecal_lead_pos" z="ecal_lead_z" />
+         <position name="ecal_scintillator_pos" z="ecal_scintillator_z" />
+
+         <!-- ecal layer z values -->
+         <constant name="ecal_lay0_z" value="-ecal_z/2 + ecal_layer_half_thickness" />
+         <constant name="ecal_lay1_z" value="ecal_lay0_z + ecal_layer_thickness" />
+         <constant name="ecal_lay2_z" value="ecal_lay1_z + ecal_layer_thickness" />
+         <constant name="ecal_lay3_z" value="ecal_lay2_z + ecal_layer_thickness" />
+         <constant name="ecal_lay4_z" value="ecal_lay3_z + ecal_layer_thickness" />
+         <constant name="ecal_lay5_z" value="ecal_lay4_z + ecal_layer_thickness" />
+         <constant name="ecal_lay6_z" value="ecal_lay5_z + ecal_layer_thickness" />
+         <constant name="ecal_lay7_z" value="ecal_lay6_z + ecal_layer_thickness" />
+         <constant name="ecal_lay8_z" value="ecal_lay7_z + ecal_layer_thickness" />
+         <constant name="ecal_lay9_z" value="ecal_lay8_z + ecal_layer_thickness" />
+         <constant name="ecal_lay10_z" value="ecal_lay9_z + ecal_layer_thickness" />
+         <constant name="ecal_lay11_z" value="ecal_lay10_z + ecal_layer_thickness" />
+         <constant name="ecal_lay12_z" value="ecal_lay11_z + ecal_layer_thickness" />
+         <constant name="ecal_lay13_z" value="ecal_lay12_z + ecal_layer_thickness" />
+         <constant name="ecal_lay14_z" value="ecal_lay13_z + ecal_layer_thickness" />
+         <constant name="ecal_lay15_z" value="ecal_lay14_z + ecal_layer_thickness" />
+         <constant name="ecal_lay16_z" value="ecal_lay15_z + ecal_layer_thickness" />
+         <constant name="ecal_lay17_z" value="ecal_lay16_z + ecal_layer_thickness" />
+
+         <!-- ecal layer positions -->
+         <position name="ecal_lay0_pos" z="ecal_lay0_z" />
+         <position name="ecal_lay1_pos" z="ecal_lay1_z" />
+         <position name="ecal_lay2_pos" z="ecal_lay2_z" />
+         <position name="ecal_lay3_pos" z="ecal_lay3_z" />
+         <position name="ecal_lay4_pos" z="ecal_lay4_z" />
+         <position name="ecal_lay5_pos" z="ecal_lay5_z" />
+         <position name="ecal_lay6_pos" z="ecal_lay6_z" />
+         <position name="ecal_lay7_pos" z="ecal_lay7_z" />
+         <position name="ecal_lay8_pos" z="ecal_lay8_z" />
+         <position name="ecal_lay9_pos" z="ecal_lay9_z" />
+         <position name="ecal_lay10_pos" z="ecal_lay10_z" />
+         <position name="ecal_lay11_pos" z="ecal_lay11_z" />
+         <position name="ecal_lay12_pos" z="ecal_lay12_z" />
+         <position name="ecal_lay13_pos" z="ecal_lay13_z" />
+         <position name="ecal_lay14_pos" z="ecal_lay14_z" />
+         <position name="ecal_lay15_pos" z="ecal_lay15_z" />
+         <position name="ecal_lay16_pos" z="ecal_lay16_z" />
+         <position name="ecal_lay17_pos" z="ecal_lay17_z" />
+      </define>
+
+    <!-- materials -->
+      <materials>
+         <element name="N" formula="N" Z="7.0">
+            <atom type="A" unit="g/mol" value="14.00674" />
+         </element>
+         <element name="O" formula="O" Z="8.0">
+            <atom type="A" unit="g/mol" value="15.9994" />
+         </element>
+         <element name="Ar" formula="Ar" Z="18.0">
+            <atom type="A" unit="g/mol" value="39.948" />
+         </element>
+         <material name="Air">
+            <D type="density" unit="g/cm3" value="0.0012" />
+            <fraction n="0.754" ref="N" />
+            <fraction n="0.234" ref="O" />
+            <fraction n="0.012" ref="Ar" />
+         </material>
+         <element name="Pb" formula="Pb" Z="82.0">
+            <atom type="A" unit="g/mol" value="207.2" />
+         </element>
+         <material name="Lead">
+            <D type="density" unit="g/cm3" value="11.342" />
+            <composite n="1" ref="Pb" />
+         </material>
+         <element name="C" formula="C" Z="6.0">
+            <atom type="A" unit="g/mol" value="12.0107" />
+         </element>
+         <element name="H" formula="H" Z="1.0">
+            <atom type="A" unit="g/mol" value="1.00794" />
+         </element>
+         <material name="Polystyrene">
+            <D value="1.032" unit="g/cm3" />
+            <composite n="19" ref="C" />
+            <composite n="21" ref="H" />
+         </material>
+      </materials>
+
+    <!-- solids -->
+      <solids>
+         <box name="EcalLeadBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_lead_thickness" />
+         <box name="EcalScintillatorBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_scintillator_thickness" />
+         <box name="EcalLayerBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_layer_thickness"/>
+         <box name="EcalBox" x="ecal_x" y="ecal_y" z="ecal_z"/>
+         <box name="WorldBox" x="10*m" y="10*m" z="10*m"/>
+      </solids>
+
+    <!-- structure, contains list of volumes. Each volume must contain a name, a material, a solid 
+         (which defines its shape). Volumes can also contain information about how child volumes are
+         to be nested inside (physvol) including a position and an optional rotation -->
+      <structure>
+         <volume name="EcalLead">
+            <materialref ref="Lead" />
+            <solidref ref="EcalLeadBox" />
+            <visref ref="LeadVis" />
+         </volume>
+
+         <volume name="EcalScintillator">
+            <materialref ref="Polystyrene" />
+            <solidref ref="EcalScintillatorBox" />
+            <sdref ref="ECAL" />
+            <visref ref="ScintillatorVis" />
+         </volume>
+
+      <!-- single ecal layer -->
+         <volume name="EcalLayer">
+            <materialref ref="Air" />
+            <solidref ref="EcalLayerBox" />
+
+            <physvol>
+               <volumeref ref="EcalLead" />
+               <positionref ref="ecal_lead_pos" />
+            </physvol>
+
+            <physvol>
+               <volumeref ref="EcalScintillator" />
+               <positionref ref="ecal_scintillator_pos" />
+            </physvol>
+            <visref ref="InvisibleVis" />
+
+         </volume>
+      
+      <!-- ecal layer positions -->
+         <volume name="Ecal">
+
+            <materialref ref="Air" />
+            <solidref ref="EcalBox" />
+
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay0_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay1_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay2_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay3_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay4_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay5_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay6_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay7_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay9_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay9_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay10_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay11_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay12_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay13_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay14_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay15_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay16_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay17_pos" />
+            </physvol>
+            <regionref ref="DetectorRegion"/>
+         </volume>
+
+         <volume name="World">
+
+            <materialref ref="Air" />
+            <solidref ref="WorldBox" />
+            <physvol>
+               <volumeref ref="Ecal" />
+            </physvol>
+         </volume>
+
+      </structure>
+
+    <!-- setup, defines which volume Geant4 should consider the "world" volume. All other volumes must be nested within this volume. -->
+      <setup name="Default" version="1.0">
+         <world ref="World" />
+      </setup>
+
+   </gdml>
+
+   <!-- No magnetic fields in this example -->
+   <fields/>
+</lcdd>

projects/lcdd/trunk/examples/old/cal
ecap.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/ecap.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/ecap.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,498 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+$Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/cal/ecap.lcdd,v 1.9 2005-03-25 02:43:31 jeremy Exp $
+
+Octagonal calorimeter endcap compose of trapezoid sections.
+
+This geometry has 3 layers in the cal,
+and each layer is composed of an absorber
+and active sublayer.
+
+-->
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="CalEcapExample"
+              version="1.0" />
+
+    <author name="Your Name"
+            email="[log in to unmask]"/>
+
+    <generator name="MyDetectorGenerator"
+               version="1.0"
+               file="MyDetectorCompactFile.xml"
+               checksum="0" />
+
+    <comment>
+      Calorimeter endcap example with a few layers. 
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+    <calorimeter name="CalEcapSD"
+		 hits_collection="CalEcapHits">
+      <grid_xyz grid_size_x="1.0"
+	        grid_size_y="0.0"
+	        grid_size_z="1.0" />
+    </calorimeter>
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+    <region name="CalEcapRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    />
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- ident -->
+      <position name="identity_pos" />
+      <rotation name="identity_rot" />
+
+      <!-- "user parameters" -->
+      <constant name="num_sides"        value="8" />
+      <constant name="inner_radius"     value="500.0*mm" />
+      <constant name="sect_trans_dim"   value="500.0*mm" />
+
+      <!-- layers -->
+      <constant name="abs_thickness"     value="20.0*mm" />
+      <constant name="sens_thickness"    value="5.0*mm" />
+      <constant name="layer_thickness"   value="abs_thickness + sens_thickness" />
+      <constant name="num_layers"        value="3" />      
+
+      <!-- section -->
+      <constant name="outer_radius"      value="inner_radius + sect_trans_dim" />
+
+      <constant name="sect_thickness"    value="num_layers * layer_thickness" />
+      <constant name="sect_long_dim"    value="sect_thickness" />       
+
+      <constant name="sect_center_radius" value="inner_radius + sect_trans_dim / 2" />      
+
+      <constant name="inner_angle"      value="(360/num_sides)" />
+      <constant name="half_inner_angle" value="inner_angle/2"/>
+
+      <constant name="inner_face"       value="( inner_radius * tan( half_inner_angle * deg ) ) * 2" />      
+      <constant name="outer_face"       value="( outer_radius * tan( half_inner_angle * deg ) ) * 2" />
+
+      <constant name="sect_rot_x"   value="90.0 * deg" />      
+      <constant name="sect_start_rot_y" value="0.0" />
+      <constant name="sect_rot" value="-sect_start_rot_y/2" />
+
+      <constant name="sect_start_place_angle" value="0.0" />
+
+      <!-- starting params -->
+      <constant name="irot" value="inner_angle * deg" />
+      <constant name="offrot" value="-irot / 2" />
+      <constant name="placerot" value="-offrot" />
+
+      <!-- sect0 -->
+      <constant name="sect0_rot_y" value="-offrot" />
+      <constant name="sect0_pos_x" value="-sect_center_radius * sin( sect0_rot_y )" />
+      <constant name="sect0_pos_y" value="sect_center_radius * cos( sect0_rot_y )" />
+
+      <position name="sect0_pos"
+		x="sect0_pos_x" 
+		y="sect0_pos_y"
+		z="0.0" />
+
+      <rotation name="sect0_rot"
+		x="sect_rot_x"
+		y="sect0_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect1 -->
+      <constant name="sect1_rot_y" value="sect0_rot_y - irot" />
+      <constant name="sect1_pos_x" value="-sect_center_radius * sin( sect1_rot_y )" />
+      <constant name="sect1_pos_y" value="sect_center_radius * cos( sect1_rot_y )" />
+
+      <position name="sect1_pos"
+		x="sect1_pos_x"
+		y="sect1_pos_y"
+		z="0.0" />
+
+      <rotation name="sect1_rot"
+		x="sect_rot_x"
+		y="sect1_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect2 -->
+      <constant name="sect2_rot_y" value="sect1_rot_y - irot" />
+      <constant name="sect2_pos_x" value="-sect_center_radius * sin( sect2_rot_y )" />
+      <constant name="sect2_pos_y" value="sect_center_radius * cos( sect2_rot_y )" />
+
+      <position name="sect2_pos"
+		x="sect2_pos_x"
+		y="sect2_pos_y"
+		z="0.0" />
+
+      <rotation name="sect2_rot"
+		x="sect_rot_x"
+		y="sect2_rot_y"
+		z="0.0" />
+
+      <!-- sect3 -->
+      <constant name="sect3_rot_y" value="sect2_rot_y - irot" />
+      <constant name="sect3_pos_x" value="-sect_center_radius * sin( sect3_rot_y )" />
+      <constant name="sect3_pos_y" value="sect_center_radius * cos( sect3_rot_y )" />
+
+      <position name="sect3_pos"
+		x="sect3_pos_x"
+		y="sect3_pos_y"
+		z="0.0" />
+
+      <rotation name="sect3_rot"
+		x="sect_rot_x"
+		y="sect3_rot_y"
+		z="0.0" />
+
+      <!-- sect4 -->
+      <constant name="sect4_rot_y" value="sect3_rot_y - irot" />
+      <constant name="sect4_pos_x" value="-sect_center_radius * sin( sect4_rot_y )" />
+      <constant name="sect4_pos_y" value="sect_center_radius * cos( sect4_rot_y )" />
+
+      <position name="sect4_pos"
+		x="sect4_pos_x"
+		y="sect4_pos_y"
+		z="0.0" />
+
+      <rotation name="sect4_rot"
+		x="sect_rot_x"
+		y="sect4_rot_y"
+		z="0.0" />
+
+      <!-- sect5 -->
+      <constant name="sect5_rot_y" value="sect4_rot_y - irot" />
+      <constant name="sect5_pos_x" value="-sect_center_radius * sin( sect5_rot_y )" />
+      <constant name="sect5_pos_y" value="sect_center_radius * cos( sect5_rot_y )" />
+
+      <position name="sect5_pos"
+		x="sect5_pos_x"
+		y="sect5_pos_y"
+		z="0.0" />
+
+      <rotation name="sect5_rot"
+		x="sect_rot_x"
+		y="sect5_rot_y"
+		z="0.0" />
+
+      <!-- sect6 -->
+      <constant name="sect6_rot_y" value="sect5_rot_y - irot" />
+      <constant name="sect6_pos_x" value="-sect_center_radius * sin( sect6_rot_y )" />
+      <constant name="sect6_pos_y" value="sect_center_radius * cos( sect6_rot_y )" />
+
+      <position name="sect6_pos"
+		x="sect6_pos_x"
+		y="sect6_pos_y"
+		z="0.0" />
+
+      <rotation name="sect6_rot"
+		x="sect_rot_x"
+		y="sect6_rot_y"
+		z="0.0" />
+
+      <!-- sect7 -->
+      <constant name="sect7_rot_y" value="sect6_rot_y - irot" />
+      <constant name="sect7_pos_x" value="-sect_center_radius * sin( sect7_rot_y )" />
+      <constant name="sect7_pos_y" value="sect_center_radius * cos( sect7_rot_y )" />
+
+      <position name="sect7_pos"
+		x="sect7_pos_x"
+		y="sect7_pos_y"
+		z="0.0" />
+
+      <rotation name="sect7_rot"
+		x="sect_rot_x"
+		y="sect7_rot_y"
+		z="0.0" />
+
+      <!-- angle subtended by inner_face and outside section radius -->
+      <constant name="layer_outer_angle" value="(180 - inner_angle) / 2" />
+
+      <!-- angle subtended by Z side of the layer box and sect side along layer -->
+      <constant name="layer_inner_angle" value="(180 - 90 - layer_outer_angle) * deg" /> 
+
+      <constant name="layer_incr_y" value="layer_thickness" />
+
+      <!-- positions in layer -->
+      <constant name="sens_y" value="-layer_thickness/2 + sens_thickness/2" />
+      <constant name="abs_y" value="sens_y + sens_thickness/2 + abs_thickness/2" />
+
+      <position name="sens_pos" y="sens_y" />
+      <position name="abs_pos"  y="abs_y" />
+
+      <!-- layer 0 -->
+      <constant name="layer0_y"          value="-( sect_thickness/2 ) + layer_thickness/2"/>
+      <position name="layer0_pos"        y="layer0_y" />
+
+      <!-- layer 1 -->
+      <constant name="layer1_y"          value="layer0_y + layer_incr_y" />
+      <position name="layer1_pos"        y="layer1_y" />
+
+      <!-- layer 2 -->
+      <constant name="layer2_y"          value="layer1_y + layer_incr_y" />
+      <position name="layer2_pos"        y="layer2_y" />
+
+      <!-- world -->
+      <constant name="world_side" value="5000.0 * mm" />
+    </define>
+
+    <materials>
+
+      <element  name="Argon_e"  
+		Z="18.0"  
+		N="40" >
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 39.9480" />
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" 
+	       formula="Fe" 
+	       Z="26.0">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e"  
+		Z="7.0"  
+		N=" 14">
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 14.01" />
+      </element>
+
+      <element  name="Oxygen_e" 
+		Z="8.0" 
+		N="16">
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 16.0"/>
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" 
+	   unit="g/cm3" 
+	   value="0.0012"/>
+	<fraction n="0.7803" ref="Nitrogen_e"/>
+	<fraction n="0.2103" ref="Oxygen_e"/>
+	<fraction n="0.0094" ref="Argon_e"/>
+      </material>
+
+      <material name="StainlessSteel">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box  lunit="mm"
+	    name="world_box"
+	    x="world_side"  
+	    y="world_side"  
+	    z="world_side" />
+
+      <trd name="sect_trd" 
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sect_long_dim"
+	   y2="sect_long_dim"
+	   z="sect_trans_dim"
+	   />
+
+      <trd name="sens_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sens_thickness"
+	   y2="sens_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+      <trd name="abs_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="abs_thickness"
+	   y2="abs_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+      <trd name="layer_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="layer_thickness"
+	   y2="layer_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+    </solids>
+
+    <structure>
+
+      <!-- sublayers -->
+      <volume name="sens">
+	<materialref ref="Polystyrene" />
+	<solidref ref="sens_trd" />
+	<sdref ref="CalEcapSD" />
+      </volume>
+
+      <volume name="abs">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="abs_trd" />
+      </volume>
+      
+      <!-- layer volume -->
+      <volume name="layer">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="layer_trd" />
+
+	<physvol>
+	  <volumeref ref="sens"/>
+	  <positionref ref="sens_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="abs"/>
+	  <positionref ref="abs_pos" />
+	</physvol>
+
+      </volume>
+
+      <!-- cal section -->
+      <volume name="sect">
+	<materialref ref="Air" />
+	<solidref ref="sect_trd" />
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer0_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer1_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer2_pos" />
+	</physvol>
+
+	<regionref ref="CalEcapRegion" />
+
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect0_pos" />
+	  <rotationref ref="sect0_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect1_pos" />
+	  <rotationref ref="sect1_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect2_pos" />
+	  <rotationref ref="sect2_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect3_pos" />
+	  <rotationref ref="sect3_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect4_pos" />
+	  <rotationref ref="sect4_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect5_pos" />
+	  <rotationref ref="sect5_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect6_pos" />
+	  <rotationref ref="sect6_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect7_pos" />
+	  <rotationref ref="sect7_rot" />
+	</physvol>
+
+      </volume>
+
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="theField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="0"
+	      outer_radius="2000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="theField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/cal
hcal.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/hcal.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/hcal.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,992 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Descciption of ECal calorimeter from: NIMA 487 (2002) 291-307
+-->
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+   <header>
+      <detector name="HCAL" version="1.0" />
+      <author name="Tony Johnson" email="[log in to unmask]"/>
+      <generator name="DummyGenerator" version="1.0" file="DummyCompactFile.xml" checksum="0" />
+      <comment>ECAL:  NIMA 487 (2002) 291-307</comment>
+   </header>
+
+   <iddict></iddict>
+
+   <sensitive_detectors>
+     <calorimeter name="ECAL" hits_collection="ECALHits">
+       <grid_xyz grid_size_x="1.0"
+		 grid_size_y="1.0"
+		 grid_size_z="0.0"
+		 lunit="mm" />
+     </calorimeter>
+   </sensitive_detectors>
+
+   <limits></limits>
+
+   <regions>
+      <region name="DetectorRegion"
+            store_secondaries="false"
+            cut="1.0"
+            lunit="mm"
+            threshold="1.0"
+            eunit="MeV" />
+   </regions>
+
+   <display>
+      <vis name="InvisibleVis"
+            visible="false"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="1.0" B="1.0" alpha="1.0" />
+      </vis>
+
+      <vis name="LeadVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="0.0" G="0.5" B="1.0" alpha="1.0" />
+      </vis>
+      <vis name="ScintillatorVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="0.5" B="0.0" alpha="1.0" />
+      </vis>
+      <vis name="FeVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="0.0" B="1.0" alpha="1.0" />
+      </vis>
+
+   </display>
+
+   <gdml>
+
+    <!-- define -->
+      <define>
+         <!-- ecal_constants.inc, ecal constants -->
+         <!-- ecal slice thicknesses -->
+         <constant name="ecal_lead_thickness" value="8*mm" />
+         <constant name="ecal_scintillator_thickness" value="2*mm" />
+         <constant name="fe_width" value="5*cm" />
+
+         <!-- ecal layer thickness -->
+         <constant name="ecal_layer_thickness" value="ecal_lead_thickness + ecal_scintillator_thickness " />
+         <constant name="ecal_layer_half_thickness" value="ecal_layer_thickness/2" />
+
+         <!-- ecal layer box dims -->
+         <constant name="ecal_layer_x" value="100.0*cm" />
+         <constant name="ecal_layer_y" value="100.0*cm" />
+         <constant name="ecal_layer_z" value="ecal_layer_thickness" />
+
+         <!-- ecal number of layers 
+               must match the layJ#_z, lay#_pos given below
+         -->
+         <constant name="ecal_num_layers" value="126" />
+
+         <!-- ecal dims -->
+         <constant name="ecal_x" value="ecal_layer_x" />
+         <constant name="ecal_y" value="ecal_layer_y" />
+         <constant name="ecal_z" value="ecal_num_layers * ecal_layer_thickness" />
+         <constant name="ecal_half_z" value="ecal_z/2" />
+
+         <!-- ecal slice z in layer -->
+         <constant name="ecal_lead_z" value="-ecal_layer_half_thickness + ecal_lead_thickness/2" />
+         <constant name="ecal_scintillator_z" value="ecal_lead_z + ecal_lead_thickness/2 + ecal_scintillator_thickness/2" />
+
+         <!-- ecal slice rel pos in layer -->
+         <position name="ecal_lead_pos" z="ecal_lead_z" />
+         <position name="ecal_scintillator_pos" z="ecal_scintillator_z" />
+
+         <!-- ecal layer z values -->
+         <constant name="ecal_lay0_z" value="-ecal_z/2 + ecal_layer_half_thickness" />
+         <constant name="ecal_lay1_z" value="ecal_lay0_z + ecal_layer_thickness" />
+         <constant name="ecal_lay2_z" value="ecal_lay1_z + ecal_layer_thickness" />
+         <constant name="ecal_lay3_z" value="ecal_lay2_z + ecal_layer_thickness" />
+         <constant name="ecal_lay4_z" value="ecal_lay3_z + ecal_layer_thickness" />
+         <constant name="ecal_lay5_z" value="ecal_lay4_z + ecal_layer_thickness" />
+         <constant name="ecal_lay6_z" value="ecal_lay5_z + ecal_layer_thickness" />
+         <constant name="ecal_lay7_z" value="ecal_lay6_z + ecal_layer_thickness" />
+         <constant name="ecal_lay8_z" value="ecal_lay7_z + ecal_layer_thickness" />
+         <constant name="ecal_lay9_z" value="ecal_lay8_z + ecal_layer_thickness" />
+         <constant name="ecal_lay10_z" value="ecal_lay9_z + ecal_layer_thickness" />
+         <constant name="ecal_lay11_z" value="ecal_lay10_z + ecal_layer_thickness" />
+         <constant name="ecal_lay12_z" value="ecal_lay11_z + ecal_layer_thickness" />
+         <constant name="ecal_lay13_z" value="ecal_lay12_z + ecal_layer_thickness" />
+         <constant name="ecal_lay14_z" value="ecal_lay13_z + ecal_layer_thickness" />
+         <constant name="ecal_lay15_z" value="ecal_lay14_z + ecal_layer_thickness" />
+         <constant name="ecal_lay16_z" value="ecal_lay15_z + ecal_layer_thickness" />
+         <constant name="ecal_lay17_z" value="ecal_lay16_z + ecal_layer_thickness" />
+         <constant name="ecal_lay18_z" value="ecal_lay17_z + ecal_layer_thickness" />
+         <constant name="ecal_lay19_z" value="ecal_lay18_z + ecal_layer_thickness" />
+         <constant name="ecal_lay20_z" value="ecal_lay19_z + ecal_layer_thickness" />
+         <constant name="ecal_lay21_z" value="ecal_lay20_z + ecal_layer_thickness" />
+         <constant name="ecal_lay22_z" value="ecal_lay21_z + ecal_layer_thickness" />
+         <constant name="ecal_lay23_z" value="ecal_lay22_z + ecal_layer_thickness" />
+         <constant name="ecal_lay24_z" value="ecal_lay23_z + ecal_layer_thickness" />
+         <constant name="ecal_lay25_z" value="ecal_lay24_z + ecal_layer_thickness" />
+         <constant name="ecal_lay26_z" value="ecal_lay25_z + ecal_layer_thickness" />
+         <constant name="ecal_lay27_z" value="ecal_lay26_z + ecal_layer_thickness" />
+         <constant name="ecal_lay28_z" value="ecal_lay27_z + ecal_layer_thickness" />
+         <constant name="ecal_lay29_z" value="ecal_lay28_z + ecal_layer_thickness" />
+         <constant name="ecal_lay30_z" value="ecal_lay29_z + ecal_layer_thickness" />
+         <constant name="ecal_lay31_z" value="ecal_lay30_z + ecal_layer_thickness" />
+         <constant name="ecal_lay32_z" value="ecal_lay31_z + ecal_layer_thickness" />
+         <constant name="ecal_lay33_z" value="ecal_lay32_z + ecal_layer_thickness" />
+         <constant name="ecal_lay34_z" value="ecal_lay33_z + ecal_layer_thickness" />
+         <constant name="ecal_lay35_z" value="ecal_lay34_z + ecal_layer_thickness" />
+         <constant name="ecal_lay36_z" value="ecal_lay35_z + ecal_layer_thickness" />
+         <constant name="ecal_lay37_z" value="ecal_lay36_z + ecal_layer_thickness" />
+         <constant name="ecal_lay38_z" value="ecal_lay37_z + ecal_layer_thickness" />
+         <constant name="ecal_lay39_z" value="ecal_lay38_z + ecal_layer_thickness" />
+         <constant name="ecal_lay40_z" value="ecal_lay39_z + ecal_layer_thickness" />
+         <constant name="ecal_lay41_z" value="ecal_lay40_z + ecal_layer_thickness" />
+         <constant name="ecal_lay42_z" value="ecal_lay41_z + ecal_layer_thickness" />
+         <constant name="ecal_lay43_z" value="ecal_lay42_z + ecal_layer_thickness" />
+         <constant name="ecal_lay44_z" value="ecal_lay43_z + ecal_layer_thickness" />
+         <constant name="ecal_lay45_z" value="ecal_lay44_z + ecal_layer_thickness" />
+         <constant name="ecal_lay46_z" value="ecal_lay45_z + ecal_layer_thickness" />
+         <constant name="ecal_lay47_z" value="ecal_lay46_z + ecal_layer_thickness" />
+         <constant name="ecal_lay48_z" value="ecal_lay47_z + ecal_layer_thickness" />
+         <constant name="ecal_lay49_z" value="ecal_lay48_z + ecal_layer_thickness" />
+         <constant name="ecal_lay50_z" value="ecal_lay49_z + ecal_layer_thickness" />
+         <constant name="ecal_lay51_z" value="ecal_lay50_z + ecal_layer_thickness" />
+         <constant name="ecal_lay52_z" value="ecal_lay51_z + ecal_layer_thickness" />
+         <constant name="ecal_lay53_z" value="ecal_lay52_z + ecal_layer_thickness" />
+         <constant name="ecal_lay54_z" value="ecal_lay53_z + ecal_layer_thickness" />
+         <constant name="ecal_lay55_z" value="ecal_lay54_z + ecal_layer_thickness" />
+         <constant name="ecal_lay56_z" value="ecal_lay55_z + ecal_layer_thickness" />
+         <constant name="ecal_lay57_z" value="ecal_lay56_z + ecal_layer_thickness" />
+         <constant name="ecal_lay58_z" value="ecal_lay57_z + ecal_layer_thickness" />
+         <constant name="ecal_lay59_z" value="ecal_lay58_z + ecal_layer_thickness" />
+         <constant name="ecal_lay60_z" value="ecal_lay59_z + ecal_layer_thickness" />
+         <constant name="ecal_lay61_z" value="ecal_lay60_z + ecal_layer_thickness" />
+         <constant name="ecal_lay62_z" value="ecal_lay61_z + ecal_layer_thickness" />
+         <constant name="ecal_lay63_z" value="ecal_lay62_z + ecal_layer_thickness" />
+         <constant name="ecal_lay64_z" value="ecal_lay63_z + ecal_layer_thickness" />
+         <constant name="ecal_lay65_z" value="ecal_lay64_z + ecal_layer_thickness" />
+         <constant name="ecal_lay66_z" value="ecal_lay65_z + ecal_layer_thickness" />
+         <constant name="ecal_lay67_z" value="ecal_lay66_z + ecal_layer_thickness" />
+         <constant name="ecal_lay68_z" value="ecal_lay67_z + ecal_layer_thickness" />
+         <constant name="ecal_lay69_z" value="ecal_lay68_z + ecal_layer_thickness" />
+         <constant name="ecal_lay70_z" value="ecal_lay69_z + ecal_layer_thickness" />
+         <constant name="ecal_lay71_z" value="ecal_lay70_z + ecal_layer_thickness" />
+         <constant name="ecal_lay72_z" value="ecal_lay71_z + ecal_layer_thickness" />
+         <constant name="ecal_lay73_z" value="ecal_lay72_z + ecal_layer_thickness" />
+         <constant name="ecal_lay74_z" value="ecal_lay73_z + ecal_layer_thickness" />
+         <constant name="ecal_lay75_z" value="ecal_lay74_z + ecal_layer_thickness" />
+         <constant name="ecal_lay76_z" value="ecal_lay75_z + ecal_layer_thickness" />
+         <constant name="ecal_lay77_z" value="ecal_lay76_z + ecal_layer_thickness" />
+         <constant name="ecal_lay78_z" value="ecal_lay77_z + ecal_layer_thickness" />
+         <constant name="ecal_lay79_z" value="ecal_lay78_z + ecal_layer_thickness" />
+         <constant name="ecal_lay80_z" value="ecal_lay79_z + ecal_layer_thickness" />
+         <constant name="ecal_lay81_z" value="ecal_lay80_z + ecal_layer_thickness" />
+         <constant name="ecal_lay82_z" value="ecal_lay81_z + ecal_layer_thickness" />
+         <constant name="ecal_lay83_z" value="ecal_lay82_z + ecal_layer_thickness" />
+         <constant name="ecal_lay84_z" value="ecal_lay83_z + ecal_layer_thickness" />
+         <constant name="ecal_lay85_z" value="ecal_lay84_z + ecal_layer_thickness" />
+         <constant name="ecal_lay86_z" value="ecal_lay85_z + ecal_layer_thickness" />
+         <constant name="ecal_lay87_z" value="ecal_lay86_z + ecal_layer_thickness" />
+         <constant name="ecal_lay88_z" value="ecal_lay87_z + ecal_layer_thickness" />
+         <constant name="ecal_lay89_z" value="ecal_lay88_z + ecal_layer_thickness" />
+         <constant name="ecal_lay90_z" value="ecal_lay89_z + ecal_layer_thickness" />
+         <constant name="ecal_lay91_z" value="ecal_lay90_z + ecal_layer_thickness" />
+         <constant name="ecal_lay92_z" value="ecal_lay91_z + ecal_layer_thickness" />
+         <constant name="ecal_lay93_z" value="ecal_lay92_z + ecal_layer_thickness" />
+         <constant name="ecal_lay94_z" value="ecal_lay93_z + ecal_layer_thickness" />
+         <constant name="ecal_lay95_z" value="ecal_lay94_z + ecal_layer_thickness" />
+         <constant name="ecal_lay96_z" value="ecal_lay95_z + ecal_layer_thickness" />
+         <constant name="ecal_lay97_z" value="ecal_lay96_z + ecal_layer_thickness" />
+         <constant name="ecal_lay98_z" value="ecal_lay97_z + ecal_layer_thickness" />
+         <constant name="ecal_lay99_z" value="ecal_lay98_z + ecal_layer_thickness" />
+         <constant name="ecal_lay100_z" value="ecal_lay99_z + ecal_layer_thickness" />
+         <constant name="ecal_lay101_z" value="ecal_lay100_z + ecal_layer_thickness" />
+         <constant name="ecal_lay102_z" value="ecal_lay101_z + ecal_layer_thickness" />
+         <constant name="ecal_lay103_z" value="ecal_lay102_z + ecal_layer_thickness" />
+         <constant name="ecal_lay104_z" value="ecal_lay103_z + ecal_layer_thickness" />
+         <constant name="ecal_lay105_z" value="ecal_lay104_z + ecal_layer_thickness" />
+         <constant name="ecal_lay106_z" value="ecal_lay105_z + ecal_layer_thickness" />
+         <constant name="ecal_lay107_z" value="ecal_lay106_z + ecal_layer_thickness" />
+         <constant name="ecal_lay108_z" value="ecal_lay107_z + ecal_layer_thickness" />
+         <constant name="ecal_lay109_z" value="ecal_lay108_z + ecal_layer_thickness" />
+         <constant name="ecal_lay110_z" value="ecal_lay109_z + ecal_layer_thickness" />
+         <constant name="ecal_lay111_z" value="ecal_lay110_z + ecal_layer_thickness" />
+         <constant name="ecal_lay112_z" value="ecal_lay111_z + ecal_layer_thickness" />
+         <constant name="ecal_lay113_z" value="ecal_lay112_z + ecal_layer_thickness" />
+         <constant name="ecal_lay114_z" value="ecal_lay113_z + ecal_layer_thickness" />
+         <constant name="ecal_lay115_z" value="ecal_lay114_z + ecal_layer_thickness" />
+         <constant name="ecal_lay116_z" value="ecal_lay115_z + ecal_layer_thickness" />
+         <constant name="ecal_lay117_z" value="ecal_lay116_z + ecal_layer_thickness" />
+         <constant name="ecal_lay118_z" value="ecal_lay117_z + ecal_layer_thickness" />
+         <constant name="ecal_lay119_z" value="ecal_lay118_z + ecal_layer_thickness" />
+         <constant name="ecal_lay120_z" value="ecal_lay119_z + ecal_layer_thickness" />
+         <constant name="ecal_lay121_z" value="ecal_lay120_z + ecal_layer_thickness" />
+         <constant name="ecal_lay122_z" value="ecal_lay121_z + ecal_layer_thickness" />
+         <constant name="ecal_lay123_z" value="ecal_lay122_z + ecal_layer_thickness" />
+         <constant name="ecal_lay124_z" value="ecal_lay123_z + ecal_layer_thickness" />
+         <constant name="ecal_lay125_z" value="ecal_lay124_z + ecal_layer_thickness" /> 
+         
+         <constant name="fe_z" value="-ecal_z/2 - fe_width/2" />
+         <position name="fe_pos" z="fe_z" />
+         
+         <!-- ecal layer positions -->
+         <position name="ecal_lay0_pos" z="ecal_lay0_z" />
+         <position name="ecal_lay1_pos" z="ecal_lay1_z" />
+         <position name="ecal_lay2_pos" z="ecal_lay2_z" />
+         <position name="ecal_lay3_pos" z="ecal_lay3_z" />
+         <position name="ecal_lay4_pos" z="ecal_lay4_z" />
+         <position name="ecal_lay5_pos" z="ecal_lay5_z" />
+         <position name="ecal_lay6_pos" z="ecal_lay6_z" />
+         <position name="ecal_lay7_pos" z="ecal_lay7_z" />
+         <position name="ecal_lay8_pos" z="ecal_lay8_z" />
+         <position name="ecal_lay9_pos" z="ecal_lay9_z" />
+         <position name="ecal_lay10_pos" z="ecal_lay10_z" />
+         <position name="ecal_lay11_pos" z="ecal_lay11_z" />
+         <position name="ecal_lay12_pos" z="ecal_lay12_z" />
+         <position name="ecal_lay13_pos" z="ecal_lay13_z" />
+         <position name="ecal_lay14_pos" z="ecal_lay14_z" />
+         <position name="ecal_lay15_pos" z="ecal_lay15_z" />
+         <position name="ecal_lay16_pos" z="ecal_lay16_z" />
+         <position name="ecal_lay17_pos" z="ecal_lay17_z" />
+         <position name="ecal_lay18_pos" z="ecal_lay18_z" />
+         <position name="ecal_lay19_pos" z="ecal_lay19_z" />
+         <position name="ecal_lay20_pos" z="ecal_lay20_z" />
+         <position name="ecal_lay21_pos" z="ecal_lay21_z" />
+         <position name="ecal_lay22_pos" z="ecal_lay22_z" />
+         <position name="ecal_lay23_pos" z="ecal_lay23_z" />
+         <position name="ecal_lay24_pos" z="ecal_lay24_z" />
+         <position name="ecal_lay25_pos" z="ecal_lay25_z" />
+         <position name="ecal_lay26_pos" z="ecal_lay26_z" />
+         <position name="ecal_lay27_pos" z="ecal_lay27_z" />
+         <position name="ecal_lay28_pos" z="ecal_lay28_z" />
+         <position name="ecal_lay29_pos" z="ecal_lay29_z" />
+         <position name="ecal_lay30_pos" z="ecal_lay30_z" />
+         <position name="ecal_lay31_pos" z="ecal_lay31_z" />
+         <position name="ecal_lay32_pos" z="ecal_lay32_z" />
+         <position name="ecal_lay33_pos" z="ecal_lay33_z" />
+         <position name="ecal_lay34_pos" z="ecal_lay34_z" />
+         <position name="ecal_lay35_pos" z="ecal_lay35_z" />
+         <position name="ecal_lay36_pos" z="ecal_lay36_z" />
+         <position name="ecal_lay37_pos" z="ecal_lay37_z" />
+         <position name="ecal_lay38_pos" z="ecal_lay38_z" />
+         <position name="ecal_lay39_pos" z="ecal_lay39_z" />
+         <position name="ecal_lay40_pos" z="ecal_lay40_z" />
+         <position name="ecal_lay41_pos" z="ecal_lay41_z" />
+         <position name="ecal_lay42_pos" z="ecal_lay42_z" />
+         <position name="ecal_lay43_pos" z="ecal_lay43_z" />
+         <position name="ecal_lay44_pos" z="ecal_lay44_z" />
+         <position name="ecal_lay45_pos" z="ecal_lay45_z" />
+         <position name="ecal_lay46_pos" z="ecal_lay46_z" />
+         <position name="ecal_lay47_pos" z="ecal_lay47_z" />
+         <position name="ecal_lay48_pos" z="ecal_lay48_z" />
+         <position name="ecal_lay49_pos" z="ecal_lay49_z" />
+         <position name="ecal_lay50_pos" z="ecal_lay50_z" />
+         <position name="ecal_lay51_pos" z="ecal_lay51_z" />
+         <position name="ecal_lay52_pos" z="ecal_lay52_z" />
+         <position name="ecal_lay53_pos" z="ecal_lay53_z" />
+         <position name="ecal_lay54_pos" z="ecal_lay54_z" />
+         <position name="ecal_lay55_pos" z="ecal_lay55_z" />
+         <position name="ecal_lay56_pos" z="ecal_lay56_z" />
+         <position name="ecal_lay57_pos" z="ecal_lay57_z" />
+         <position name="ecal_lay58_pos" z="ecal_lay58_z" />
+         <position name="ecal_lay59_pos" z="ecal_lay59_z" />
+         <position name="ecal_lay60_pos" z="ecal_lay60_z" />
+         <position name="ecal_lay61_pos" z="ecal_lay61_z" />
+         <position name="ecal_lay62_pos" z="ecal_lay62_z" />
+         <position name="ecal_lay63_pos" z="ecal_lay63_z" />
+         <position name="ecal_lay64_pos" z="ecal_lay64_z" />
+         <position name="ecal_lay65_pos" z="ecal_lay65_z" />
+         <position name="ecal_lay66_pos" z="ecal_lay66_z" />
+         <position name="ecal_lay67_pos" z="ecal_lay67_z" />
+         <position name="ecal_lay68_pos" z="ecal_lay68_z" />
+         <position name="ecal_lay69_pos" z="ecal_lay69_z" />
+         <position name="ecal_lay70_pos" z="ecal_lay70_z" />
+         <position name="ecal_lay71_pos" z="ecal_lay71_z" />
+         <position name="ecal_lay72_pos" z="ecal_lay72_z" />
+         <position name="ecal_lay73_pos" z="ecal_lay73_z" />
+         <position name="ecal_lay74_pos" z="ecal_lay74_z" />
+         <position name="ecal_lay75_pos" z="ecal_lay75_z" />
+         <position name="ecal_lay76_pos" z="ecal_lay76_z" />
+         <position name="ecal_lay77_pos" z="ecal_lay77_z" />
+         <position name="ecal_lay78_pos" z="ecal_lay78_z" />
+         <position name="ecal_lay79_pos" z="ecal_lay79_z" />
+         <position name="ecal_lay80_pos" z="ecal_lay80_z" />
+         <position name="ecal_lay81_pos" z="ecal_lay81_z" />
+         <position name="ecal_lay82_pos" z="ecal_lay82_z" />
+         <position name="ecal_lay83_pos" z="ecal_lay83_z" />
+         <position name="ecal_lay84_pos" z="ecal_lay84_z" />
+         <position name="ecal_lay85_pos" z="ecal_lay85_z" />
+         <position name="ecal_lay86_pos" z="ecal_lay86_z" />
+         <position name="ecal_lay87_pos" z="ecal_lay87_z" />
+         <position name="ecal_lay88_pos" z="ecal_lay88_z" />
+         <position name="ecal_lay89_pos" z="ecal_lay89_z" />
+         <position name="ecal_lay90_pos" z="ecal_lay90_z" />
+         <position name="ecal_lay91_pos" z="ecal_lay91_z" />
+         <position name="ecal_lay92_pos" z="ecal_lay92_z" />
+         <position name="ecal_lay93_pos" z="ecal_lay93_z" />
+         <position name="ecal_lay94_pos" z="ecal_lay94_z" />
+         <position name="ecal_lay95_pos" z="ecal_lay95_z" />
+         <position name="ecal_lay96_pos" z="ecal_lay96_z" />
+         <position name="ecal_lay97_pos" z="ecal_lay97_z" />
+         <position name="ecal_lay98_pos" z="ecal_lay98_z" />
+         <position name="ecal_lay99_pos" z="ecal_lay99_z" />
+         <position name="ecal_lay100_pos" z="ecal_lay100_z" />
+         <position name="ecal_lay101_pos" z="ecal_lay101_z" />
+         <position name="ecal_lay102_pos" z="ecal_lay102_z" />
+         <position name="ecal_lay103_pos" z="ecal_lay103_z" />
+         <position name="ecal_lay104_pos" z="ecal_lay104_z" />
+         <position name="ecal_lay105_pos" z="ecal_lay105_z" />
+         <position name="ecal_lay106_pos" z="ecal_lay106_z" />
+         <position name="ecal_lay107_pos" z="ecal_lay107_z" />
+         <position name="ecal_lay108_pos" z="ecal_lay108_z" />
+         <position name="ecal_lay109_pos" z="ecal_lay109_z" />
+         <position name="ecal_lay110_pos" z="ecal_lay110_z" />
+         <position name="ecal_lay111_pos" z="ecal_lay111_z" />
+         <position name="ecal_lay112_pos" z="ecal_lay112_z" />
+         <position name="ecal_lay113_pos" z="ecal_lay113_z" />
+         <position name="ecal_lay114_pos" z="ecal_lay114_z" />
+         <position name="ecal_lay115_pos" z="ecal_lay115_z" />
+         <position name="ecal_lay116_pos" z="ecal_lay116_z" />
+         <position name="ecal_lay117_pos" z="ecal_lay117_z" />
+         <position name="ecal_lay118_pos" z="ecal_lay118_z" />
+         <position name="ecal_lay119_pos" z="ecal_lay119_z" />
+         <position name="ecal_lay120_pos" z="ecal_lay120_z" />
+         <position name="ecal_lay121_pos" z="ecal_lay121_z" />
+         <position name="ecal_lay122_pos" z="ecal_lay122_z" />
+         <position name="ecal_lay123_pos" z="ecal_lay123_z" />
+         <position name="ecal_lay124_pos" z="ecal_lay124_z" />
+         <position name="ecal_lay125_pos" z="ecal_lay125_z" />
+
+      </define>
+
+    <!-- materials -->
+      <materials>
+         <element name="N" formula="N" Z="7.0">
+            <atom type="A" unit="g/mol" value="14.00674" />
+         </element>
+         <element name="O" formula="O" Z="8.0">
+            <atom type="A" unit="g/mol" value="15.9994" />
+         </element>
+         <element name="Ar" formula="Ar" Z="18.0">
+            <atom type="A" unit="g/mol" value="39.948" />
+         </element>
+         <material name="Air">
+            <D type="density" unit="g/cm3" value="0.0012" />
+            <fraction n="0.754" ref="N" />
+            <fraction n="0.234" ref="O" />
+            <fraction n="0.012" ref="Ar" />
+         </material>
+         <element name="Pb" formula="Pb" Z="82.0">
+            <atom type="A" unit="g/mol" value="207.2" />
+         </element>
+         <material name="Lead">
+            <D type="density" unit="g/cm3" value="11.342" />
+            <composite n="1" ref="Pb" />
+         </material>
+         <element name="Fe" formula="Fe" Z="26.0">
+            <atom type="A" unit="g/mol" value="55.845" />
+         </element>
+         <material name="Iron">
+            <D type="density" unit="g/cm3" value="7.875" />
+            <composite n="1" ref="Fe" />
+         </material>
+         <element name="C" formula="C" Z="6.0">
+            <atom type="A" unit="g/mol" value="12.0107" />
+         </element>
+         <element name="H" formula="H" Z="1.0">
+            <atom type="A" unit="g/mol" value="1.00794" />
+         </element>
+         <material name="Polystyrene">
+            <D value="1.032" unit="g/cm3" />
+            <composite n="19" ref="C" />
+            <composite n="21" ref="H" />
+         </material>
+      </materials>
+
+    <!-- solids -->
+      <solids>
+         <box name="EcalLeadBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_lead_thickness" />
+         <box name="EcalScintillatorBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_scintillator_thickness" />
+         <box name="EcalLayerBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_layer_thickness"/>
+         <box name="EcalBox" x="ecal_x" y="ecal_y" z="ecal_z"/>
+         <box name="WorldBox" x="10*m" y="10*m" z="10*m"/>
+         <box name="IronBox" x="ecal_layer_x" y="ecal_layer_y" z="fe_width"/>
+      </solids>
+
+    <!-- structure -->
+      <structure>
+         <volume name="EcalLead">
+            <materialref ref="Lead" />
+            <solidref ref="EcalLeadBox" />
+            <visref ref="LeadVis" />
+         </volume>
+
+         <volume name="EcalScintillator">
+            <materialref ref="Polystyrene" />
+            <solidref ref="EcalScintillatorBox" />
+            <sdref ref="ECAL" />
+            <visref ref="ScintillatorVis" />
+         </volume>
+
+      <!-- single ecal layer -->
+         <volume name="EcalLayer">
+            <materialref ref="Air" />
+            <solidref ref="EcalLayerBox" />
+
+            <physvol>
+               <volumeref ref="EcalLead" />
+               <positionref ref="ecal_lead_pos" />
+            </physvol>
+
+            <physvol>
+               <volumeref ref="EcalScintillator" />
+               <positionref ref="ecal_scintillator_pos" />
+            </physvol>
+            <visref ref="InvisibleVis" />
+
+         </volume>
+      
+      <!-- ecal layer positions -->
+         <volume name="Ecal">
+
+            <materialref ref="Air" />
+            <solidref ref="EcalBox" />
+
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay0_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay1_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay2_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay3_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay4_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay5_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay6_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay7_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay8_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay9_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay10_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay11_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay12_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay13_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay14_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay15_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay16_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay17_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay18_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay19_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay20_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay21_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay22_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay23_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay24_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay25_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay26_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay27_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay28_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay29_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay30_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay31_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay32_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay33_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay34_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay35_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay36_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay37_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay38_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay39_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay40_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay41_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay42_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay43_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay44_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay45_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay46_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay47_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay48_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay49_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay50_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay51_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay52_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay53_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay54_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay55_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay56_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay57_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay58_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay59_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay60_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay61_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay62_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay63_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay64_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay65_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay66_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay67_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay68_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay69_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay70_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay71_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay72_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay73_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay74_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay75_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay76_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay77_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay78_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay79_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay80_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay81_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay82_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay83_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay84_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay85_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay86_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay87_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay88_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay89_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay90_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay91_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay92_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay93_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay94_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay95_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay96_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay97_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay98_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay99_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay100_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay101_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay102_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay103_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay104_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay105_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay106_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay107_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay108_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay109_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay110_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay111_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay112_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay113_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay114_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay115_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay116_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay117_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay118_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay119_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay120_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay121_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay122_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay123_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay124_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay125_pos" />
+            </physvol>
+
+            <regionref ref="DetectorRegion"/>
+         </volume>
+         
+         <volume name="World">
+
+            <materialref ref="Air" />
+            <solidref ref="WorldBox" />
+            <physvol>
+               <volumeref ref="Ecal" />
+            </physvol>
+         </volume>
+
+      </structure>
+
+    <!-- setup -->
+      <setup name="Default" version="1.0">
+         <world ref="World" />
+      </setup>
+
+   </gdml>
+
+   <fields></fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/cal
optical_ecal.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/optical_ecal.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/optical_ecal.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,1498 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Descciption of ECal calorimeter from: NIMA 487 (2002) 291-307
+-->
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="/data/wenzel/SimDist/packages/lcdd/v1r12p5/schemas/lcdd/1.0/lcdd.xsd">
+
+   <header>
+      <detector name="ECAL" version="1.0" />
+      <author name="Hans Wenzel" email="[log in to unmask]"/>
+      <generator name="DummyGenerator" version="1.0" file="DummyCompactFile.xml" checksum="0" />
+      <comment>ECAL:  NIMA 487 (2002) 291-307</comment>
+   </header>
+
+   <!-- iddict not used in this example -->
+   <iddict/>
+   
+   <!--  Specifiy which detector volumes should be considered "sensitive", and how they 
+         should be read out. (We use a 1mm grid, far finer segmentation than used in the 
+         real calorimeter described in NIMA 487 (2002) 291-307, since it allows the hits
+         to be visualized better. Since we are only interested in the total energy deposited
+         in the layers, and since we are ignoring gaps between pads, this is good enough -->
+   <sensitive_detectors>
+
+      <calorimeter name="Scintillator" hits_collection="ScintHits">
+         <grid_xyz grid_size_x="1.0"
+               grid_size_y="1.0"
+               grid_size_z="0.0"
+               lunit="cm"/>
+      </calorimeter>
+
+
+      <calorimeter name="Cerenkov" hits_collection="CerenHits">
+         <grid_xyz grid_size_x="1.0"
+               grid_size_y="1.0"
+               grid_size_z="0.0"
+               lunit="cm"/>
+      </calorimeter>
+   </sensitive_detectors>
+
+   <!-- limits not used in this example -->
+   <limits/>
+   
+   <!-- We put the entire detector into a detector region and specify default cuts. We do not
+        store secondary particles, since this would greatly increase the size of the output file -->
+   <regions>
+      <region name="DetectorRegion"
+            store_secondaries="false"
+            cut="1.0"
+            lunit="mm"
+            threshold="1.0"
+            eunit="MeV" />
+   </regions>
+
+   <!-- Set some simple visibility attributes. We set the leadglass layers to be bluish, and the 
+        scintillator layers to be orange -->
+   
+   <display>
+      <vis name="InvisibleVis"
+            visible="false"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="1.0" B="1.0" alpha="1.0" />
+      </vis>
+
+      <vis name="LeadGlassVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="0.0" G="0.5" B="1.0" alpha="1.0" />
+      </vis>
+
+      <vis name="CerenHitsVis"
+            visible="true">
+         <color R="0.0" G="0.5" B="1.0" alpha="1.0" />
+      </vis>
+
+      <vis name="ScintillatorVis"
+            visible="true"
+            show_daughters="true"
+            line_style="unbroken"
+            drawing_style="wireframe">
+         <color R="1.0" G="0.5" B="0.0" alpha="1.0" />
+      </vis>
+
+   </display>
+
+   <!-- Beginning of the standard GDML content section -->
+   <gdml>
+
+    <!-- Define constants. We define the position of all the elements here, as well as the sizes of the volumes.
+         Since GDML does not support any sort of loop construct, we must specify the position of each layer explicitly -->
+      <define>
+         <!-- ecal_constants.inc, ecal constants -->
+         <!-- ecal slice thicknesses -->
+         <constant name="ecal_leadglass_thickness" value="8*mm" />
+         <constant name="ecal_scintillator_thickness" value="2*mm" />
+
+         <!-- ecal layer thickness -->
+         <constant name="ecal_layer_thickness" value="ecal_leadglass_thickness + ecal_scintillator_thickness " />
+         <constant name="ecal_layer_half_thickness" value="ecal_layer_thickness/2" />
+
+         <!-- ecal layer box dims -->
+         <constant name="ecal_layer_x" value="100.0*cm" />
+         <constant name="ecal_layer_y" value="100.0*cm" />
+         <constant name="ecal_layer_z" value="ecal_layer_thickness" />
+
+         <!-- ecal number of layers 
+               must match the layJ#_z, lay#_pos given below
+         -->
+         <constant name="ecal_num_layers" value="200" />
+
+         <!-- ecal dims -->
+         <constant name="ecal_x" value="ecal_layer_x" />
+         <constant name="ecal_y" value="ecal_layer_y" />
+         <constant name="ecal_z" value="ecal_num_layers * ecal_layer_thickness" />
+         <constant name="ecal_half_z" value="ecal_z/2" />
+
+         <!-- ecal slice z in layer -->
+         <constant name="ecal_leadglass_z" value="-ecal_layer_half_thickness + ecal_leadglass_thickness/2" />
+         <constant name="ecal_scintillator_z" value="ecal_leadglass_z + ecal_leadglass_thickness/2 + ecal_scintillator_thickness/2" />
+
+         <!-- ecal slice rel pos in layer -->
+         <position name="ecal_leadglass_pos" z="ecal_leadglass_z" />
+         <position name="ecal_scintillator_pos" z="ecal_scintillator_z" />
+
+         <!-- ecal layer z values -->
+         <constant name="ecal_lay0_z" value="-ecal_z/2 + ecal_layer_half_thickness" />
+         <constant name="ecal_lay1_z" value="ecal_lay0_z + ecal_layer_thickness" />
+         <constant name="ecal_lay2_z" value="ecal_lay1_z + ecal_layer_thickness" />
+         <constant name="ecal_lay3_z" value="ecal_lay2_z + ecal_layer_thickness" />
+         <constant name="ecal_lay4_z" value="ecal_lay3_z + ecal_layer_thickness" />
+         <constant name="ecal_lay5_z" value="ecal_lay4_z + ecal_layer_thickness" />
+         <constant name="ecal_lay6_z" value="ecal_lay5_z + ecal_layer_thickness" />
+         <constant name="ecal_lay7_z" value="ecal_lay6_z + ecal_layer_thickness" />
+         <constant name="ecal_lay8_z" value="ecal_lay7_z + ecal_layer_thickness" />
+         <constant name="ecal_lay9_z" value="ecal_lay8_z + ecal_layer_thickness" />
+         <constant name="ecal_lay10_z" value="ecal_lay9_z + ecal_layer_thickness" />
+         <constant name="ecal_lay11_z" value="ecal_lay10_z + ecal_layer_thickness" />
+         <constant name="ecal_lay12_z" value="ecal_lay11_z + ecal_layer_thickness" />
+         <constant name="ecal_lay13_z" value="ecal_lay12_z + ecal_layer_thickness" />
+         <constant name="ecal_lay14_z" value="ecal_lay13_z + ecal_layer_thickness" />
+         <constant name="ecal_lay15_z" value="ecal_lay14_z + ecal_layer_thickness" />
+         <constant name="ecal_lay16_z" value="ecal_lay15_z + ecal_layer_thickness" />
+         <constant name="ecal_lay17_z" value="ecal_lay16_z + ecal_layer_thickness" />
+         <constant name="ecal_lay18_z" value="ecal_lay17_z + ecal_layer_thickness" />
+         <constant name="ecal_lay19_z" value="ecal_lay18_z + ecal_layer_thickness" />
+         <constant name="ecal_lay20_z" value="ecal_lay19_z + ecal_layer_thickness" />
+         <constant name="ecal_lay21_z" value="ecal_lay20_z + ecal_layer_thickness" />
+         <constant name="ecal_lay22_z" value="ecal_lay21_z + ecal_layer_thickness" />
+         <constant name="ecal_lay23_z" value="ecal_lay22_z + ecal_layer_thickness" />
+         <constant name="ecal_lay24_z" value="ecal_lay23_z + ecal_layer_thickness" />
+         <constant name="ecal_lay25_z" value="ecal_lay24_z + ecal_layer_thickness" />
+         <constant name="ecal_lay26_z" value="ecal_lay25_z + ecal_layer_thickness" />
+         <constant name="ecal_lay27_z" value="ecal_lay26_z + ecal_layer_thickness" />
+         <constant name="ecal_lay28_z" value="ecal_lay27_z + ecal_layer_thickness" />
+         <constant name="ecal_lay29_z" value="ecal_lay28_z + ecal_layer_thickness" />
+         <constant name="ecal_lay30_z" value="ecal_lay29_z + ecal_layer_thickness" />
+         <constant name="ecal_lay31_z" value="ecal_lay30_z + ecal_layer_thickness" />
+         <constant name="ecal_lay32_z" value="ecal_lay31_z + ecal_layer_thickness" />
+         <constant name="ecal_lay33_z" value="ecal_lay32_z + ecal_layer_thickness" />
+         <constant name="ecal_lay34_z" value="ecal_lay33_z + ecal_layer_thickness" />
+         <constant name="ecal_lay35_z" value="ecal_lay34_z + ecal_layer_thickness" />
+         <constant name="ecal_lay36_z" value="ecal_lay35_z + ecal_layer_thickness" />
+         <constant name="ecal_lay37_z" value="ecal_lay36_z + ecal_layer_thickness" />
+         <constant name="ecal_lay38_z" value="ecal_lay37_z + ecal_layer_thickness" />
+         <constant name="ecal_lay39_z" value="ecal_lay38_z + ecal_layer_thickness" />
+         <constant name="ecal_lay40_z" value="ecal_lay39_z + ecal_layer_thickness" />
+         <constant name="ecal_lay41_z" value="ecal_lay40_z + ecal_layer_thickness" />
+         <constant name="ecal_lay42_z" value="ecal_lay41_z + ecal_layer_thickness" />
+         <constant name="ecal_lay43_z" value="ecal_lay42_z + ecal_layer_thickness" />
+         <constant name="ecal_lay44_z" value="ecal_lay43_z + ecal_layer_thickness" />
+         <constant name="ecal_lay45_z" value="ecal_lay44_z + ecal_layer_thickness" />
+         <constant name="ecal_lay46_z" value="ecal_lay45_z + ecal_layer_thickness" />
+         <constant name="ecal_lay47_z" value="ecal_lay46_z + ecal_layer_thickness" />
+         <constant name="ecal_lay48_z" value="ecal_lay47_z + ecal_layer_thickness" />
+         <constant name="ecal_lay49_z" value="ecal_lay48_z + ecal_layer_thickness" />
+         <constant name="ecal_lay50_z" value="ecal_lay49_z + ecal_layer_thickness" />
+         <constant name="ecal_lay51_z" value="ecal_lay50_z + ecal_layer_thickness" />
+         <constant name="ecal_lay52_z" value="ecal_lay51_z + ecal_layer_thickness" />
+         <constant name="ecal_lay53_z" value="ecal_lay52_z + ecal_layer_thickness" />
+         <constant name="ecal_lay54_z" value="ecal_lay53_z + ecal_layer_thickness" />
+         <constant name="ecal_lay55_z" value="ecal_lay54_z + ecal_layer_thickness" />
+         <constant name="ecal_lay56_z" value="ecal_lay55_z + ecal_layer_thickness" />
+         <constant name="ecal_lay57_z" value="ecal_lay56_z + ecal_layer_thickness" />
+         <constant name="ecal_lay58_z" value="ecal_lay57_z + ecal_layer_thickness" />
+         <constant name="ecal_lay59_z" value="ecal_lay58_z + ecal_layer_thickness" />
+         <constant name="ecal_lay60_z" value="ecal_lay59_z + ecal_layer_thickness" />
+         <constant name="ecal_lay61_z" value="ecal_lay60_z + ecal_layer_thickness" />
+         <constant name="ecal_lay62_z" value="ecal_lay61_z + ecal_layer_thickness" />
+         <constant name="ecal_lay63_z" value="ecal_lay62_z + ecal_layer_thickness" />
+         <constant name="ecal_lay64_z" value="ecal_lay63_z + ecal_layer_thickness" />
+         <constant name="ecal_lay65_z" value="ecal_lay64_z + ecal_layer_thickness" />
+         <constant name="ecal_lay66_z" value="ecal_lay65_z + ecal_layer_thickness" />
+         <constant name="ecal_lay67_z" value="ecal_lay66_z + ecal_layer_thickness" />
+         <constant name="ecal_lay68_z" value="ecal_lay67_z + ecal_layer_thickness" />
+         <constant name="ecal_lay69_z" value="ecal_lay68_z + ecal_layer_thickness" />
+         <constant name="ecal_lay70_z" value="ecal_lay69_z + ecal_layer_thickness" />
+         <constant name="ecal_lay71_z" value="ecal_lay70_z + ecal_layer_thickness" />
+         <constant name="ecal_lay72_z" value="ecal_lay71_z + ecal_layer_thickness" />
+         <constant name="ecal_lay73_z" value="ecal_lay72_z + ecal_layer_thickness" />
+         <constant name="ecal_lay74_z" value="ecal_lay73_z + ecal_layer_thickness" />
+         <constant name="ecal_lay75_z" value="ecal_lay74_z + ecal_layer_thickness" />
+         <constant name="ecal_lay76_z" value="ecal_lay75_z + ecal_layer_thickness" />
+         <constant name="ecal_lay77_z" value="ecal_lay76_z + ecal_layer_thickness" />
+         <constant name="ecal_lay78_z" value="ecal_lay77_z + ecal_layer_thickness" />
+         <constant name="ecal_lay79_z" value="ecal_lay78_z + ecal_layer_thickness" />
+         <constant name="ecal_lay80_z" value="ecal_lay79_z + ecal_layer_thickness" />
+         <constant name="ecal_lay81_z" value="ecal_lay80_z + ecal_layer_thickness" />
+         <constant name="ecal_lay82_z" value="ecal_lay81_z + ecal_layer_thickness" />
+         <constant name="ecal_lay83_z" value="ecal_lay82_z + ecal_layer_thickness" />
+         <constant name="ecal_lay84_z" value="ecal_lay83_z + ecal_layer_thickness" />
+         <constant name="ecal_lay85_z" value="ecal_lay84_z + ecal_layer_thickness" />
+         <constant name="ecal_lay86_z" value="ecal_lay85_z + ecal_layer_thickness" />
+         <constant name="ecal_lay87_z" value="ecal_lay86_z + ecal_layer_thickness" />
+         <constant name="ecal_lay88_z" value="ecal_lay87_z + ecal_layer_thickness" />
+         <constant name="ecal_lay89_z" value="ecal_lay88_z + ecal_layer_thickness" />
+         <constant name="ecal_lay90_z" value="ecal_lay89_z + ecal_layer_thickness" />
+         <constant name="ecal_lay91_z" value="ecal_lay90_z + ecal_layer_thickness" />
+         <constant name="ecal_lay92_z" value="ecal_lay91_z + ecal_layer_thickness" />
+         <constant name="ecal_lay93_z" value="ecal_lay92_z + ecal_layer_thickness" />
+         <constant name="ecal_lay94_z" value="ecal_lay93_z + ecal_layer_thickness" />
+         <constant name="ecal_lay95_z" value="ecal_lay94_z + ecal_layer_thickness" />
+         <constant name="ecal_lay96_z" value="ecal_lay95_z + ecal_layer_thickness" />
+         <constant name="ecal_lay97_z" value="ecal_lay96_z + ecal_layer_thickness" />
+         <constant name="ecal_lay98_z" value="ecal_lay97_z + ecal_layer_thickness" />
+         <constant name="ecal_lay99_z" value="ecal_lay98_z + ecal_layer_thickness" />
+         <constant name="ecal_lay100_z" value="ecal_lay99_z + ecal_layer_thickness" />
+         <constant name="ecal_lay101_z" value="ecal_lay100_z + ecal_layer_thickness" />
+         <constant name="ecal_lay102_z" value="ecal_lay101_z + ecal_layer_thickness" />
+         <constant name="ecal_lay103_z" value="ecal_lay102_z + ecal_layer_thickness" />
+         <constant name="ecal_lay104_z" value="ecal_lay103_z + ecal_layer_thickness" />
+         <constant name="ecal_lay105_z" value="ecal_lay104_z + ecal_layer_thickness" />
+         <constant name="ecal_lay106_z" value="ecal_lay105_z + ecal_layer_thickness" />
+         <constant name="ecal_lay107_z" value="ecal_lay106_z + ecal_layer_thickness" />
+         <constant name="ecal_lay108_z" value="ecal_lay107_z + ecal_layer_thickness" />
+         <constant name="ecal_lay109_z" value="ecal_lay108_z + ecal_layer_thickness" />
+         <constant name="ecal_lay110_z" value="ecal_lay109_z + ecal_layer_thickness" />
+         <constant name="ecal_lay111_z" value="ecal_lay110_z + ecal_layer_thickness" />
+         <constant name="ecal_lay112_z" value="ecal_lay111_z + ecal_layer_thickness" />
+         <constant name="ecal_lay113_z" value="ecal_lay112_z + ecal_layer_thickness" />
+         <constant name="ecal_lay114_z" value="ecal_lay113_z + ecal_layer_thickness" />
+         <constant name="ecal_lay115_z" value="ecal_lay114_z + ecal_layer_thickness" />
+         <constant name="ecal_lay116_z" value="ecal_lay115_z + ecal_layer_thickness" />
+         <constant name="ecal_lay117_z" value="ecal_lay116_z + ecal_layer_thickness" />
+         <constant name="ecal_lay118_z" value="ecal_lay117_z + ecal_layer_thickness" />
+         <constant name="ecal_lay119_z" value="ecal_lay118_z + ecal_layer_thickness" />
+         <constant name="ecal_lay120_z" value="ecal_lay119_z + ecal_layer_thickness" />
+         <constant name="ecal_lay121_z" value="ecal_lay120_z + ecal_layer_thickness" />
+         <constant name="ecal_lay122_z" value="ecal_lay121_z + ecal_layer_thickness" />
+         <constant name="ecal_lay123_z" value="ecal_lay122_z + ecal_layer_thickness" />
+         <constant name="ecal_lay124_z" value="ecal_lay123_z + ecal_layer_thickness" />
+         <constant name="ecal_lay125_z" value="ecal_lay124_z + ecal_layer_thickness" />
+         <constant name="ecal_lay126_z" value="ecal_lay125_z + ecal_layer_thickness" />
+         <constant name="ecal_lay127_z" value="ecal_lay126_z + ecal_layer_thickness" />
+         <constant name="ecal_lay128_z" value="ecal_lay127_z + ecal_layer_thickness" />
+         <constant name="ecal_lay129_z" value="ecal_lay128_z + ecal_layer_thickness" />
+         <constant name="ecal_lay130_z" value="ecal_lay129_z + ecal_layer_thickness" />
+         <constant name="ecal_lay131_z" value="ecal_lay130_z + ecal_layer_thickness" />
+         <constant name="ecal_lay132_z" value="ecal_lay131_z + ecal_layer_thickness" />
+         <constant name="ecal_lay133_z" value="ecal_lay132_z + ecal_layer_thickness" />
+         <constant name="ecal_lay134_z" value="ecal_lay133_z + ecal_layer_thickness" />
+         <constant name="ecal_lay135_z" value="ecal_lay134_z + ecal_layer_thickness" />
+         <constant name="ecal_lay136_z" value="ecal_lay135_z + ecal_layer_thickness" />
+         <constant name="ecal_lay137_z" value="ecal_lay136_z + ecal_layer_thickness" />
+         <constant name="ecal_lay138_z" value="ecal_lay137_z + ecal_layer_thickness" />
+         <constant name="ecal_lay139_z" value="ecal_lay138_z + ecal_layer_thickness" />
+         <constant name="ecal_lay140_z" value="ecal_lay139_z + ecal_layer_thickness" />
+         <constant name="ecal_lay141_z" value="ecal_lay140_z + ecal_layer_thickness" />
+         <constant name="ecal_lay142_z" value="ecal_lay141_z + ecal_layer_thickness" />
+         <constant name="ecal_lay143_z" value="ecal_lay142_z + ecal_layer_thickness" />
+         <constant name="ecal_lay144_z" value="ecal_lay143_z + ecal_layer_thickness" />
+         <constant name="ecal_lay145_z" value="ecal_lay144_z + ecal_layer_thickness" />
+         <constant name="ecal_lay146_z" value="ecal_lay145_z + ecal_layer_thickness" />
+         <constant name="ecal_lay147_z" value="ecal_lay146_z + ecal_layer_thickness" />
+         <constant name="ecal_lay148_z" value="ecal_lay147_z + ecal_layer_thickness" />
+         <constant name="ecal_lay149_z" value="ecal_lay148_z + ecal_layer_thickness" />
+         <constant name="ecal_lay150_z" value="ecal_lay149_z + ecal_layer_thickness" />
+         <constant name="ecal_lay151_z" value="ecal_lay150_z + ecal_layer_thickness" />
+         <constant name="ecal_lay152_z" value="ecal_lay151_z + ecal_layer_thickness" />
+         <constant name="ecal_lay153_z" value="ecal_lay152_z + ecal_layer_thickness" />
+         <constant name="ecal_lay154_z" value="ecal_lay153_z + ecal_layer_thickness" />
+         <constant name="ecal_lay155_z" value="ecal_lay154_z + ecal_layer_thickness" />
+         <constant name="ecal_lay156_z" value="ecal_lay155_z + ecal_layer_thickness" />
+         <constant name="ecal_lay157_z" value="ecal_lay156_z + ecal_layer_thickness" />
+         <constant name="ecal_lay158_z" value="ecal_lay157_z + ecal_layer_thickness" />
+         <constant name="ecal_lay159_z" value="ecal_lay158_z + ecal_layer_thickness" />
+         <constant name="ecal_lay160_z" value="ecal_lay159_z + ecal_layer_thickness" />
+         <constant name="ecal_lay161_z" value="ecal_lay160_z + ecal_layer_thickness" />
+         <constant name="ecal_lay162_z" value="ecal_lay161_z + ecal_layer_thickness" />
+         <constant name="ecal_lay163_z" value="ecal_lay162_z + ecal_layer_thickness" />
+         <constant name="ecal_lay164_z" value="ecal_lay163_z + ecal_layer_thickness" />
+         <constant name="ecal_lay165_z" value="ecal_lay164_z + ecal_layer_thickness" />
+         <constant name="ecal_lay166_z" value="ecal_lay165_z + ecal_layer_thickness" />
+         <constant name="ecal_lay167_z" value="ecal_lay166_z + ecal_layer_thickness" />
+         <constant name="ecal_lay168_z" value="ecal_lay167_z + ecal_layer_thickness" />
+         <constant name="ecal_lay169_z" value="ecal_lay168_z + ecal_layer_thickness" />
+         <constant name="ecal_lay170_z" value="ecal_lay169_z + ecal_layer_thickness" />
+         <constant name="ecal_lay171_z" value="ecal_lay170_z + ecal_layer_thickness" />
+         <constant name="ecal_lay172_z" value="ecal_lay171_z + ecal_layer_thickness" />
+         <constant name="ecal_lay173_z" value="ecal_lay172_z + ecal_layer_thickness" />
+         <constant name="ecal_lay174_z" value="ecal_lay173_z + ecal_layer_thickness" />
+         <constant name="ecal_lay175_z" value="ecal_lay174_z + ecal_layer_thickness" />
+         <constant name="ecal_lay176_z" value="ecal_lay175_z + ecal_layer_thickness" />
+         <constant name="ecal_lay177_z" value="ecal_lay176_z + ecal_layer_thickness" />
+         <constant name="ecal_lay178_z" value="ecal_lay177_z + ecal_layer_thickness" />
+         <constant name="ecal_lay179_z" value="ecal_lay178_z + ecal_layer_thickness" />
+         <constant name="ecal_lay180_z" value="ecal_lay179_z + ecal_layer_thickness" />
+         <constant name="ecal_lay181_z" value="ecal_lay180_z + ecal_layer_thickness" />
+         <constant name="ecal_lay182_z" value="ecal_lay181_z + ecal_layer_thickness" />
+         <constant name="ecal_lay183_z" value="ecal_lay182_z + ecal_layer_thickness" />
+         <constant name="ecal_lay184_z" value="ecal_lay183_z + ecal_layer_thickness" />
+         <constant name="ecal_lay185_z" value="ecal_lay184_z + ecal_layer_thickness" />
+         <constant name="ecal_lay186_z" value="ecal_lay185_z + ecal_layer_thickness" />
+         <constant name="ecal_lay187_z" value="ecal_lay186_z + ecal_layer_thickness" />
+         <constant name="ecal_lay188_z" value="ecal_lay187_z + ecal_layer_thickness" />
+         <constant name="ecal_lay189_z" value="ecal_lay188_z + ecal_layer_thickness" />
+         <constant name="ecal_lay190_z" value="ecal_lay189_z + ecal_layer_thickness" />
+         <constant name="ecal_lay191_z" value="ecal_lay190_z + ecal_layer_thickness" />
+         <constant name="ecal_lay192_z" value="ecal_lay191_z + ecal_layer_thickness" />
+         <constant name="ecal_lay193_z" value="ecal_lay192_z + ecal_layer_thickness" />
+         <constant name="ecal_lay194_z" value="ecal_lay193_z + ecal_layer_thickness" />
+         <constant name="ecal_lay195_z" value="ecal_lay194_z + ecal_layer_thickness" />
+         <constant name="ecal_lay196_z" value="ecal_lay195_z + ecal_layer_thickness" />
+         <constant name="ecal_lay197_z" value="ecal_lay196_z + ecal_layer_thickness" />
+         <constant name="ecal_lay198_z" value="ecal_lay197_z + ecal_layer_thickness" />
+         <constant name="ecal_lay199_z" value="ecal_lay198_z + ecal_layer_thickness" />
+
+         <!-- ecal layer positions -->
+         <position name="ecal_lay0_pos" z="ecal_lay0_z" />
+         <position name="ecal_lay1_pos" z="ecal_lay1_z" />
+         <position name="ecal_lay2_pos" z="ecal_lay2_z" />
+         <position name="ecal_lay3_pos" z="ecal_lay3_z" />
+         <position name="ecal_lay4_pos" z="ecal_lay4_z" />
+         <position name="ecal_lay5_pos" z="ecal_lay5_z" />
+         <position name="ecal_lay6_pos" z="ecal_lay6_z" />
+         <position name="ecal_lay7_pos" z="ecal_lay7_z" />
+         <position name="ecal_lay8_pos" z="ecal_lay8_z" />
+         <position name="ecal_lay9_pos" z="ecal_lay9_z" />
+         <position name="ecal_lay10_pos" z="ecal_lay10_z" />
+         <position name="ecal_lay11_pos" z="ecal_lay11_z" />
+         <position name="ecal_lay12_pos" z="ecal_lay12_z" />
+         <position name="ecal_lay13_pos" z="ecal_lay13_z" />
+         <position name="ecal_lay14_pos" z="ecal_lay14_z" />
+         <position name="ecal_lay15_pos" z="ecal_lay15_z" />
+         <position name="ecal_lay16_pos" z="ecal_lay16_z" />
+         <position name="ecal_lay17_pos" z="ecal_lay17_z" />
+	 <position name="ecal_lay18_pos" z="ecal_lay18_z" />
+	 <position name="ecal_lay19_pos" z="ecal_lay19_z" />
+	 <position name="ecal_lay20_pos" z="ecal_lay20_z" />
+	 <position name="ecal_lay21_pos" z="ecal_lay21_z" />
+	 <position name="ecal_lay22_pos" z="ecal_lay22_z" />
+	 <position name="ecal_lay23_pos" z="ecal_lay23_z" />
+	 <position name="ecal_lay24_pos" z="ecal_lay24_z" />
+	 <position name="ecal_lay25_pos" z="ecal_lay25_z" />
+	 <position name="ecal_lay26_pos" z="ecal_lay26_z" />
+	 <position name="ecal_lay27_pos" z="ecal_lay27_z" />
+	 <position name="ecal_lay28_pos" z="ecal_lay28_z" />
+	 <position name="ecal_lay29_pos" z="ecal_lay29_z" />	
+	 <position name="ecal_lay30_pos" z="ecal_lay30_z" />
+	 <position name="ecal_lay31_pos" z="ecal_lay31_z" />
+	 <position name="ecal_lay32_pos" z="ecal_lay32_z" />
+	 <position name="ecal_lay33_pos" z="ecal_lay33_z" />	
+	 <position name="ecal_lay34_pos" z="ecal_lay34_z" />
+	 <position name="ecal_lay35_pos" z="ecal_lay35_z" />
+	 <position name="ecal_lay36_pos" z="ecal_lay36_z" />
+	 <position name="ecal_lay37_pos" z="ecal_lay37_z" />
+	 <position name="ecal_lay38_pos" z="ecal_lay38_z" />
+	 <position name="ecal_lay39_pos" z="ecal_lay39_z" />
+	 <position name="ecal_lay40_pos" z="ecal_lay40_z" />
+	 <position name="ecal_lay41_pos" z="ecal_lay41_z" />
+	 <position name="ecal_lay42_pos" z="ecal_lay42_z" />
+	 <position name="ecal_lay43_pos" z="ecal_lay43_z" />
+	 <position name="ecal_lay44_pos" z="ecal_lay44_z" />
+	 <position name="ecal_lay45_pos" z="ecal_lay45_z" />
+	 <position name="ecal_lay46_pos" z="ecal_lay46_z" />
+	 <position name="ecal_lay47_pos" z="ecal_lay47_z" />
+	 <position name="ecal_lay48_pos" z="ecal_lay48_z" />
+	 <position name="ecal_lay49_pos" z="ecal_lay49_z" />
+	 <position name="ecal_lay50_pos" z="ecal_lay50_z" />
+	 <position name="ecal_lay51_pos" z="ecal_lay51_z" />
+	 <position name="ecal_lay52_pos" z="ecal_lay52_z" />
+	 <position name="ecal_lay53_pos" z="ecal_lay53_z" />
+	 <position name="ecal_lay54_pos" z="ecal_lay54_z" />
+	 <position name="ecal_lay55_pos" z="ecal_lay55_z" />
+	 <position name="ecal_lay56_pos" z="ecal_lay56_z" />
+	 <position name="ecal_lay57_pos" z="ecal_lay57_z" />
+	 <position name="ecal_lay58_pos" z="ecal_lay58_z" />
+	 <position name="ecal_lay59_pos" z="ecal_lay59_z" />
+	 <position name="ecal_lay60_pos" z="ecal_lay60_z" />
+	 <position name="ecal_lay61_pos" z="ecal_lay61_z" />
+	 <position name="ecal_lay62_pos" z="ecal_lay62_z" />
+	 <position name="ecal_lay63_pos" z="ecal_lay63_z" />
+	 <position name="ecal_lay64_pos" z="ecal_lay64_z" />
+	 <position name="ecal_lay65_pos" z="ecal_lay65_z" />
+	 <position name="ecal_lay66_pos" z="ecal_lay66_z" />
+	 <position name="ecal_lay67_pos" z="ecal_lay67_z" />
+	 <position name="ecal_lay68_pos" z="ecal_lay68_z" />
+	 <position name="ecal_lay69_pos" z="ecal_lay69_z" />
+	 <position name="ecal_lay70_pos" z="ecal_lay70_z" />
+	 <position name="ecal_lay71_pos" z="ecal_lay71_z" />
+	 <position name="ecal_lay72_pos" z="ecal_lay72_z" />
+	 <position name="ecal_lay73_pos" z="ecal_lay73_z" />
+	 <position name="ecal_lay74_pos" z="ecal_lay74_z" />
+	 <position name="ecal_lay75_pos" z="ecal_lay75_z" />
+	 <position name="ecal_lay76_pos" z="ecal_lay76_z" />
+	 <position name="ecal_lay77_pos" z="ecal_lay77_z" />
+	 <position name="ecal_lay78_pos" z="ecal_lay78_z" />
+	 <position name="ecal_lay79_pos" z="ecal_lay79_z" />
+	 <position name="ecal_lay80_pos" z="ecal_lay80_z" />
+	 <position name="ecal_lay81_pos" z="ecal_lay81_z" />
+	 <position name="ecal_lay82_pos" z="ecal_lay82_z" />
+	 <position name="ecal_lay83_pos" z="ecal_lay83_z" />
+	 <position name="ecal_lay84_pos" z="ecal_lay84_z" />
+	 <position name="ecal_lay85_pos" z="ecal_lay85_z" />
+	 <position name="ecal_lay86_pos" z="ecal_lay86_z" />
+	 <position name="ecal_lay87_pos" z="ecal_lay87_z" />
+	 <position name="ecal_lay88_pos" z="ecal_lay88_z" />
+	 <position name="ecal_lay89_pos" z="ecal_lay89_z" />
+	 <position name="ecal_lay90_pos" z="ecal_lay90_z" />
+	 <position name="ecal_lay91_pos" z="ecal_lay91_z" />
+	 <position name="ecal_lay92_pos" z="ecal_lay92_z" />
+	 <position name="ecal_lay93_pos" z="ecal_lay93_z" />
+	 <position name="ecal_lay94_pos" z="ecal_lay94_z" />
+	 <position name="ecal_lay95_pos" z="ecal_lay95_z" />
+	 <position name="ecal_lay96_pos" z="ecal_lay96_z" />
+	 <position name="ecal_lay97_pos" z="ecal_lay97_z" />
+	 <position name="ecal_lay98_pos" z="ecal_lay98_z" />
+	 <position name="ecal_lay99_pos" z="ecal_lay99_z" />
+	 <position name="ecal_lay100_pos" z="ecal_lay100_z" />
+	 <position name="ecal_lay101_pos" z="ecal_lay101_z" />
+	 <position name="ecal_lay102_pos" z="ecal_lay102_z" />
+	 <position name="ecal_lay103_pos" z="ecal_lay103_z" />
+	 <position name="ecal_lay104_pos" z="ecal_lay104_z" />
+	 <position name="ecal_lay105_pos" z="ecal_lay105_z" />
+	 <position name="ecal_lay106_pos" z="ecal_lay106_z" />
+	 <position name="ecal_lay107_pos" z="ecal_lay107_z" />
+	 <position name="ecal_lay108_pos" z="ecal_lay108_z" />
+	 <position name="ecal_lay109_pos" z="ecal_lay109_z" />
+	 <position name="ecal_lay110_pos" z="ecal_lay110_z" />
+	 <position name="ecal_lay111_pos" z="ecal_lay111_z" />
+	 <position name="ecal_lay112_pos" z="ecal_lay112_z" />
+	 <position name="ecal_lay113_pos" z="ecal_lay113_z" />
+	 <position name="ecal_lay114_pos" z="ecal_lay114_z" />
+	 <position name="ecal_lay115_pos" z="ecal_lay115_z" />
+	 <position name="ecal_lay116_pos" z="ecal_lay116_z" />
+	 <position name="ecal_lay117_pos" z="ecal_lay117_z" />
+	 <position name="ecal_lay118_pos" z="ecal_lay118_z" />
+	 <position name="ecal_lay119_pos" z="ecal_lay119_z" />
+	 <position name="ecal_lay120_pos" z="ecal_lay120_z" />
+	 <position name="ecal_lay121_pos" z="ecal_lay121_z" />
+	 <position name="ecal_lay122_pos" z="ecal_lay122_z" />
+	 <position name="ecal_lay123_pos" z="ecal_lay123_z" />
+	 <position name="ecal_lay124_pos" z="ecal_lay124_z" />
+	 <position name="ecal_lay125_pos" z="ecal_lay125_z" />
+	 <position name="ecal_lay126_pos" z="ecal_lay126_z" />
+	 <position name="ecal_lay127_pos" z="ecal_lay127_z" />
+	 <position name="ecal_lay128_pos" z="ecal_lay128_z" />
+	 <position name="ecal_lay129_pos" z="ecal_lay129_z" />
+	 <position name="ecal_lay130_pos" z="ecal_lay130_z" />
+	 <position name="ecal_lay131_pos" z="ecal_lay131_z" />
+	 <position name="ecal_lay132_pos" z="ecal_lay132_z" />
+	 <position name="ecal_lay133_pos" z="ecal_lay133_z" />
+	 <position name="ecal_lay134_pos" z="ecal_lay134_z" />
+	 <position name="ecal_lay135_pos" z="ecal_lay135_z" />
+	 <position name="ecal_lay136_pos" z="ecal_lay136_z" />
+	 <position name="ecal_lay137_pos" z="ecal_lay137_z" />
+	 <position name="ecal_lay138_pos" z="ecal_lay138_z" />
+	 <position name="ecal_lay139_pos" z="ecal_lay139_z" />
+	 <position name="ecal_lay140_pos" z="ecal_lay140_z" />
+	 <position name="ecal_lay141_pos" z="ecal_lay141_z" />
+	 <position name="ecal_lay142_pos" z="ecal_lay142_z" />
+	 <position name="ecal_lay143_pos" z="ecal_lay143_z" />
+	 <position name="ecal_lay144_pos" z="ecal_lay144_z" />
+	 <position name="ecal_lay145_pos" z="ecal_lay145_z" />
+	 <position name="ecal_lay146_pos" z="ecal_lay146_z" />
+	 <position name="ecal_lay147_pos" z="ecal_lay147_z" />
+	 <position name="ecal_lay148_pos" z="ecal_lay148_z" />
+	 <position name="ecal_lay149_pos" z="ecal_lay149_z" />
+	 <position name="ecal_lay150_pos" z="ecal_lay150_z" />
+	 <position name="ecal_lay151_pos" z="ecal_lay151_z" />
+	 <position name="ecal_lay152_pos" z="ecal_lay152_z" />
+	 <position name="ecal_lay153_pos" z="ecal_lay153_z" />
+	 <position name="ecal_lay154_pos" z="ecal_lay154_z" />
+	 <position name="ecal_lay155_pos" z="ecal_lay155_z" />
+	 <position name="ecal_lay156_pos" z="ecal_lay156_z" />
+	 <position name="ecal_lay157_pos" z="ecal_lay157_z" />
+	 <position name="ecal_lay158_pos" z="ecal_lay158_z" />
+	 <position name="ecal_lay159_pos" z="ecal_lay159_z" />
+	 <position name="ecal_lay160_pos" z="ecal_lay160_z" />
+	 <position name="ecal_lay161_pos" z="ecal_lay161_z" />
+	 <position name="ecal_lay162_pos" z="ecal_lay162_z" />
+	 <position name="ecal_lay163_pos" z="ecal_lay163_z" />
+	 <position name="ecal_lay164_pos" z="ecal_lay164_z" />
+	 <position name="ecal_lay165_pos" z="ecal_lay165_z" />
+	 <position name="ecal_lay166_pos" z="ecal_lay166_z" />
+	 <position name="ecal_lay167_pos" z="ecal_lay167_z" />
+	 <position name="ecal_lay168_pos" z="ecal_lay168_z" />
+	 <position name="ecal_lay169_pos" z="ecal_lay169_z" />
+	 <position name="ecal_lay170_pos" z="ecal_lay170_z" />
+	 <position name="ecal_lay171_pos" z="ecal_lay171_z" />
+	 <position name="ecal_lay172_pos" z="ecal_lay172_z" />
+	 <position name="ecal_lay173_pos" z="ecal_lay173_z" />
+	 <position name="ecal_lay174_pos" z="ecal_lay174_z" />
+	 <position name="ecal_lay175_pos" z="ecal_lay175_z" />
+	 <position name="ecal_lay176_pos" z="ecal_lay176_z" />
+	 <position name="ecal_lay177_pos" z="ecal_lay177_z" />
+	 <position name="ecal_lay178_pos" z="ecal_lay178_z" />
+	 <position name="ecal_lay179_pos" z="ecal_lay179_z" />
+	 <position name="ecal_lay180_pos" z="ecal_lay180_z" />
+	 <position name="ecal_lay181_pos" z="ecal_lay181_z" />
+	 <position name="ecal_lay182_pos" z="ecal_lay182_z" />
+	 <position name="ecal_lay183_pos" z="ecal_lay183_z" />
+	 <position name="ecal_lay184_pos" z="ecal_lay184_z" />
+	 <position name="ecal_lay185_pos" z="ecal_lay185_z" />
+	 <position name="ecal_lay186_pos" z="ecal_lay186_z" />
+	 <position name="ecal_lay187_pos" z="ecal_lay187_z" />
+	 <position name="ecal_lay188_pos" z="ecal_lay188_z" />
+	 <position name="ecal_lay189_pos" z="ecal_lay189_z" />
+	 <position name="ecal_lay190_pos" z="ecal_lay190_z" />
+	 <position name="ecal_lay191_pos" z="ecal_lay191_z" />
+	 <position name="ecal_lay192_pos" z="ecal_lay192_z" />
+	 <position name="ecal_lay193_pos" z="ecal_lay193_z" />
+	 <position name="ecal_lay194_pos" z="ecal_lay194_z" />
+	 <position name="ecal_lay195_pos" z="ecal_lay195_z" />
+	 <position name="ecal_lay196_pos" z="ecal_lay196_z" />
+	 <position name="ecal_lay197_pos" z="ecal_lay197_z" />
+	 <position name="ecal_lay198_pos" z="ecal_lay198_z" />
+	 <position name="ecal_lay199_pos" z="ecal_lay199_z" />
+
+  <matrix name="prop1" coldim="2"  values="
+			        	     	0.000002034 1.65
+		 				0.000002068 1.65
+ 						0.000002103 1.65 
+						0.000002139 1.65
+              					0.000002177 1.65
+ 						0.000002216 1.65
+ 						0.000002256 1.65
+ 						0.000002298 1.65
+              					0.000002341 1.65
+						0.000002386 1.65 
+						0.000002433 1.65
+ 						0.000002481 1.65
+              					0.000002532 1.65
+						0.000002585 1.65
+ 						0.000002640 1.65
+ 						0.000002697 1.65
+              					0.000002757 1.65
+ 						0.000002820 1.65
+ 						0.000002885 1.65
+ 						0.000002954 1.65
+              					0.000003026 1.65
+ 						0.000003102 1.65
+ 						0.000003181 1.65
+ 						0.000003265 1.65
+              					0.000003353 1.65
+ 						0.000003446 1.65
+ 						0.000003545 1.65
+ 						0.000003649 1.65
+              					0.000003760 1.65
+ 						0.000003877 1.65 
+						0.000004002 1.65
+ 						0.000004136 1.65"/>
+
+
+      </define>
+
+    <!-- materials -->
+      <materials>
+         <element name="N" formula="N" Z="7.0">
+            <atom type="A" unit="g/mol" value="14.00674" />
+         </element>
+         <element name="O" formula="O" Z="8.0">
+            <atom type="A" unit="g/mol" value="15.9994" />
+         </element>
+         <element name="Ar" formula="Ar" Z="18.0">
+            <atom type="A" unit="g/mol" value="39.948" />
+         </element>
+         <material name="Air">
+            <D type="density" unit="g/cm3" value="0.0012" />
+            <fraction n="0.754" ref="N" />
+            <fraction n="0.234" ref="O" />
+            <fraction n="0.012" ref="Ar" />
+         </material>
+         <element name="Pb" formula="Pb" Z="82.0">
+            <atom type="A" unit="g/mol" value="207.2" />
+         </element>
+         <element name="Si" formula="Si" Z="14.">
+         <atom type="A" unit="g/mol" value="28.09"/>
+         </element>
+          <material name="SiO2"> 
+            <D value="2.2" unit="g/cm3" />
+            <composite n="1" ref="Si" />
+            <composite n="2" ref="O" />
+         </material>
+         <material name="LeadGlass">
+ 	      <property name="RINDEX" ref="prop1" /> 
+              <D type="density" unit="g/cm3" value="3.47" />
+	      <fraction n="0.151" ref="Pb" />
+	      <fraction n="0.849" ref="SiO2" />
+	
+       </material>
+         <material name="Lead">
+            <D type="density" unit="g/cm3" value="3.47" />
+            <composite n="1" ref="Pb" />
+         </material>
+         <element name="C" formula="C" Z="6.0">
+            <atom type="A" unit="g/mol" value="12.0107" />
+         </element>
+         <element name="H" formula="H" Z="1.0">
+            <atom type="A" unit="g/mol" value="1.00794" />
+         </element>
+         <material name="Polystyrene">
+            <D value="1.032" unit="g/cm3" />
+            <composite n="19" ref="C" />
+            <composite n="21" ref="H" />
+         </material>
+      </materials>
+
+    <!-- solids -->
+      <solids>
+         <box name="EcalLeadGlassBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_leadglass_thickness" />
+         <box name="EcalScintillatorBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_scintillator_thickness" />
+         <box name="EcalLayerBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_layer_thickness"/>
+         <box name="EcalBox" x="ecal_x" y="ecal_y" z="ecal_z"/>
+         <box name="WorldBox" x="10*m" y="10*m" z="10*m"/>
+      </solids>
+
+    <!-- structure, contains list of volumes. Each volume must contain a name, a material, a solid 
+         (which defines its shape). Volumes can also contain information about how child volumes are
+         to be nested inside (physvol) including a position and an optional rotation -->
+      <structure>
+         <volume name="EcalLeadGlass">
+            <materialref ref="LeadGlass" />
+            <solidref ref="EcalLeadGlassBox" />
+            <sdref ref="Cerenkov" />
+            <visref ref="LeadGlassVis" />
+         </volume>
+
+         <volume name="EcalScintillator">
+            <materialref ref="Polystyrene" />
+            <solidref ref="EcalScintillatorBox" />
+            <sdref ref="Scintillator" />
+            <visref ref="ScintillatorVis" />
+         </volume>
+
+      <!-- single ecal layer -->
+         <volume name="EcalLayer">
+            <materialref ref="Air" />
+            <solidref ref="EcalLayerBox" />
+
+            <physvol>
+               <volumeref ref="EcalLeadGlass" />
+               <positionref ref="ecal_leadglass_pos" />
+            </physvol>
+
+            <physvol>
+               <volumeref ref="EcalScintillator" />
+               <positionref ref="ecal_scintillator_pos" />
+            </physvol>
+            <visref ref="InvisibleVis" />
+
+         </volume>
+      
+      <!-- ecal layer positions -->
+         <volume name="Ecal">
+
+            <materialref ref="Air" />
+            <solidref ref="EcalBox" />
+
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay0_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay1_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay2_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay3_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay4_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay5_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay6_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay7_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay8_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay9_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay10_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay11_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay12_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay13_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay14_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay15_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay16_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay17_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay18_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay19_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay20_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay21_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay22_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay23_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay24_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay25_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay26_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay27_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay28_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay29_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay30_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay31_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay32_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay33_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay34_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay35_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay36_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay37_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay38_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay39_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay40_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay41_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay42_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay43_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay44_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay45_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay46_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay47_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay48_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay49_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay50_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay51_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay52_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay53_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay54_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay55_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay56_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay57_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay58_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay59_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay60_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay61_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay62_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay63_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay64_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay65_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay66_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay67_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay68_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay69_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay70_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay71_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay72_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay73_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay74_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay75_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay76_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay77_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay78_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay79_pos" />
+            </physvol>
+            <physvol>
+               <volumeref ref="EcalLayer" />
+               <positionref ref="ecal_lay80_pos" />
[truncated at 1000 lines; 501 more skipped]

projects/lcdd/trunk/examples/old/cal
simple_optical_calorimeter.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/cal/simple_optical_calorimeter.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/cal/simple_optical_calorimeter.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+  <header>
+    <detector name="SteelBox" />
+    <generator name="GeomConverter" version="1.0" file="SteelBox.xml" checksum="3713463430" />
+    <author name="Jeremy McCormick" />
+    <comment>Test of class org.lcsim.geometry.compact.converter.lcdd.TestBeamCalorimeter</comment>
+  </header>
+  <iddict>
+    <idspec name="CalHits" length="64">
+      <idfield signed="false" label="layer" length="7" start="0" />
+      <idfield signed="false" label="system" length="3" start="7" />
+      <idfield signed="true" label="x" length="16" start="32" />
+      <idfield signed="true" label="y" length="16" start="48" />
+    </idspec>
+  </iddict>
+  <sensitive_detectors>
+    <optical_calorimeter name="OpticalCalorimeterTest" ecut="0.0" eunit="MeV" verbose="0" hits_collection="CalHits">
+      <idspecref ref="CalHits" />
+      <grid_xyz grid_size_x="10.0" grid_size_y="10.0" grid_size_z="0.0" />
+    </optical_calorimeter>
+  </sensitive_detectors>
+  <limits />
+  <regions>
+    <region name="TrackingRegion" store_secondaries="true" cut="10.0" lunit="mm" threshold="1.0" eunit="MeV" />
+  </regions>
+  <display />
+  <gdml>
+    <define>
+      <rotation name="identity_rot" x="0.0" y="0.0" z="0.0" unit="radian" />
+      <rotation name="reflect_rot" x="3.141592653589793" y="0.0" z="0.0" unit="radian" />
+      <position name="identity_pos" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <constant name="world_x" value="50000.0" />
+      <constant name="tracking_region_zmax" value="2000.0" />
+      <constant name="world_z" value="50000.0" />
+      <constant name="world_side" value="50000.0" />
+      <constant name="world_y" value="50000.0" />
+      <constant name="cm" value="10.0" />
+      <constant name="tracking_region_radius" value="10000.0" />
+      <position name="TestBeamCalorimeterTest_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layerType0_slice0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <position name="TestBeamCalorimeterTest_layer0_position" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <matrix name="RINDEX" coldim="2" values="0.000002034 1.65
+					       0.000004136 1.65" />
+    </define>
+    <materials>
+      <element name="N" formula="N" Z="7.0">
+        <atom type="A" unit="g/mol" value="14.00674" />
+      </element>
+      <element name="O" formula="O" Z="8.0">
+        <atom type="A" unit="g/mol" value="15.9994" />
+      </element>
+      <element name="Ar" formula="Ar" Z="18.0">
+        <atom type="A" unit="g/mol" value="39.948" />
+      </element>
+      <material name="Air">
+        <D type="density" unit="g/cm3" value="0.0012" />
+        <fraction n="0.754" ref="N" />
+        <fraction n="0.234" ref="O" />
+        <fraction n="0.012" ref="Ar" />
+      </material>
+      <element name="Fe" formula="Fe" Z="26.0">
+        <atom type="A" unit="g/mol" value="55.845" />
+      </element>
+      <element name="C" formula="C" Z="6.0"> 
+        <atom type="A" unit="g/mol" value="12.0107" />
+      </element>
+      <material name="Steel235">
+	<property name="RINDEX" ref="RINDEX"/>  
+        <D value="7.85" unit="g/cm3" />
+        <fraction n="0.998" ref="Fe" />
+        <fraction n=".002" ref="C" />
+      </material>
+    </materials>
+    <solids>
+      <box name="world_box" x="world_x" y="world_y" z="world_z" />
+      <tube name="tracking_cylinder" deltaphi="6.283185307179586" rmin="0.0" rmax="tracking_region_radius" z="2*tracking_region_zmax" />
+      <box name="TestBeamCalorimeterTest_box" x="5000.0" y="5000.0" z="5000.0" />
+      <box name="TestBeamCalorimeterTest_layerType0_box" x="5000.0" y="5000.0" z="5000.0" />
+      <box name="TestBeamCalorimeterTest_layerType0_slice0_box" x="5000.0" y="5000.0" z="5000.0" />
+    </solids>
+    <structure>
+      <volume name="TestBeamCalorimeterTest_layerType0_slice0">
+        <materialref ref="Steel235" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_slice0_box" />
+	<sdref ref="OpticalCalorimeterTest" />
+      </volume>
+      <volume name="TestBeamCalorimeterTest_layerType0">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_layerType0_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0_slice0" />
+          <positionref ref="TestBeamCalorimeterTest_layerType0_slice0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="slice" value="0" />
+        </physvol>
+      </volume>
+      <volume name="TestBeamCalorimeterTest_envelope">
+        <materialref ref="Air" />
+        <solidref ref="TestBeamCalorimeterTest_box" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_layerType0" />
+          <positionref ref="TestBeamCalorimeterTest_layer0_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="layer" value="0" />
+        </physvol>
+      </volume>
+      <volume name="tracking_volume">
+        <materialref ref="Air" />
+        <solidref ref="tracking_cylinder" />
+        <physvol>
+          <volumeref ref="TestBeamCalorimeterTest_envelope" />
+          <positionref ref="TestBeamCalorimeterTest_position" />
+          <rotationref ref="identity_rot" />
+          <physvolid field_name="system" value="0" />
+        </physvol>
+        <regionref ref="TrackingRegion" />
+      </volume>
+      <volume name="world_volume">
+        <materialref ref="Air" />
+        <solidref ref="world_box" />
+        <physvol>
+          <volumeref ref="tracking_volume" />
+          <positionref ref="identity_pos" />
+          <rotationref ref="identity_rot" />
+        </physvol>
+      </volume>
+    </structure>
+    <setup name="Default" version="1.0">
+      <world ref="world_volume" />
+    </setup>
+  </gdml>
+  <fields />
+</lcdd>
+

projects/lcdd/trunk/examples/old
empty.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/empty.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/empty.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+  <header>
+    <detector name="test" />
+    <generator name="GeomConverter" version="1.0" file="compact.xml" checksum="215116301" />
+    <author name="Tony Johnson" />
+    <comment>Test detector based on acme0605 for testing purposes.</comment>
+  </header>
+  <iddict />
+  <sensitive_detectors />
+  <limits />
+  <regions>
+    <region name="TrackingRegion" store_secondaries="true" cut="10.0" lunit="mm" threshold="1.0" eunit="MeV" />
+  </regions>
+  <display>
+    <vis name="WorldVis" line_style="unbroken" drawing_style="wireframe" show_daughters="true" visible="false">
+      <color R="1.0" G="1.0" B="1.0" alpha="1.0" />
+    </vis>
+    <vis name="TrackingVis" line_style="unbroken" drawing_style="wireframe" show_daughters="true" visible="false">
+      <color R="1.0" G="1.0" B="1.0" alpha="1.0" />
+    </vis>
+  </display>
+  <gdml>
+    <define>
+      <rotation name="identity_rot" x="0.0" y="0.0" z="0.0" unit="radian" />
+      <rotation name="reflect_rot" x="3.141592653589793" y="0.0" z="0.0" unit="radian" />
+      <position name="identity_pos" x="0.0" y="0.0" z="0.0" unit="mm" />
+      <constant name="world_side" value="2000.0" />
+      <constant name="tracking_region_radius" value="500.0" />
+      <constant name="world_y" value="2000.0" />
+      <constant name="world_z" value="2000.0" />
+      <constant name="tracking_region_zmax" value="500.0" />
+      <constant name="world_x" value="2000.0" />
+    </define>
+    <materials>
+      <element name="N" formula="N" Z="7.0">
+        <atom type="A" unit="g/mol" value="14.00674" />
+      </element>
+      <element name="O" formula="O" Z="8.0">
+        <atom type="A" unit="g/mol" value="15.9994" />
+      </element>
+      <element name="Ar" formula="Ar" Z="18.0">
+        <atom type="A" unit="g/mol" value="39.948" />
+      </element>
+      <material name="Air">
+        <D type="density" unit="g/cm3" value="0.0012" />
+        <fraction n="0.754" ref="N" />
+        <fraction n="0.234" ref="O" />
+        <fraction n="0.012" ref="Ar" />
+      </material>
+    </materials>
+    <solids>
+      <box name="world_box" x="world_x" y="world_y" z="world_z" />
+      <tube name="tracking_cylinder" deltaphi="6.283185307179586" rmin="0.0" rmax="tracking_region_radius" z="2*tracking_region_zmax" />
+    </solids>
+    <structure>
+      <volume name="tracking_volume">
+        <materialref ref="Air" />
+        <solidref ref="tracking_cylinder" />
+        <regionref ref="TrackingRegion" />
+        <visref ref="TrackingVis" />
+      </volume>
+      <volume name="world_volume">
+        <materialref ref="Air" />
+        <solidref ref="world_box" />
+        <physvol>
+          <volumeref ref="tracking_volume" />
+          <positionref ref="identity_pos" />
+          <rotationref ref="identity_rot" />
+        </physvol>
+        <visref ref="WorldVis" />
+      </volume>
+    </structure>
+    <setup name="Default" version="1.0">
+      <world ref="world_volume" />
+    </setup>
+  </gdml>
+  <fields>
+    <solenoid name="GlobalSolenoid" lunit="mm" funit="tesla" outer_radius="world_side" inner_field="5.0" outer_field="-0.6" zmax="1000.0" zmin="-1000.0" inner_radius="2641.5" />
+  </fields>
+</lcdd>
+

projects/lcdd/trunk/examples/old
limits.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/limits.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/limits.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="MyDetectorName"
+	      version="1.0" />
+
+    <author name="Your Name"
+	    email="[log in to unmask]"/>
+
+    <generator name="MyDetectorGenerator"
+	       version="1.0"
+	       file="MyDetectorCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Put something about the detector here.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+  </sensitive_detectors>
+
+  <limits>
+    <limitset name="TestLimitSet">
+      <limit name="step_length_max"  particles="*"               value="1.0"   unit="mm"/>
+      <limit name="track_length_max" particles="p, pi+, pi-, p0" value="100.0" unit="cm"/>
+      <limit name="time_max"         particles="*"               value="100"   unit="ns"/>
+      <limit name="ekin_min"         particles="*"               value="1.0"   unit="MeV"/>
+      <limit name="range_min"        particles="e+,e-,gamma"     value="1.0"   unit="cm"/>
+    </limitset>
+  </limits>
+
+  <regions>
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+	 visible="true"
+	 show_daughters="true"
+	 line_style="unbroken"
+	 drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="WorldVis"
+	 visible="false"
+	 show_daughters="true"
+	 line_style="unbroken"
+	 drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <!-- world -->
+      <constant name="world_side" value="10000" />
+      <constant name="world_x" value="world_side" />
+      <constant name="world_y" value="world_side" />
+      <constant name="world_z" value="world_side" />
+
+    </define>
+
+    <materials>
+
+      <!-- elements -->
+      <element name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value="39.9480" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <!-- materials -->
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+    </materials>
+
+    <solids>
+
+      <!-- world -->
+      <box lunit="mm"
+	   aunit="degree"
+	   name="world_box"
+	   x="world_x"
+	   y="world_y"
+	   z="world_z" />
+
+    </solids>
+
+    <structure>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+	<limitsetref ref="TestLimitSet" />
+	<visref ref="WorldVis" />
+      </volume>
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <!-- global field -->
+  <fields>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/mdi_bds
mdi_bds.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/mdi_bds/mdi_bds.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/mdi_bds/mdi_bds.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,418 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="MDI_BDS"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="None"
+	       version="1.0"
+	       file="MyDetectorCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      MDI and BDS components from "LC Detector 2003" / NLC IR.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>  
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskLowzVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskLumCalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="0.0"
+	     B="0.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="InstMaskVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.0"
+	     G="1.0"
+	     B="0.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.0"
+	     G="0.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+
+    <vis name="WorldVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>     
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />      
+
+      <!-- world -->
+      <constant name="world_side" value="10000" />
+      <constant name="world_x" value="world_side" />
+      <constant name="world_y" value="world_side" />
+      <constant name="world_z" value="world_side" />
+
+      <rotation name="south_rot" x="0.0" y="0.0" z="180.0" unit="degree" />
+
+      <constant name="crossing_angle" value="0.573" />
+
+      <constant name="mask_lum_cal_z" value="35.0" />
+      <constant name="mask_lum_cal_rmax" value="19.0" />
+
+      <constant name="beam_z" value="500.0" />
+
+      <constant name="beam_incoming_z" value="beam_z" />
+      <constant name="beam_incoming_rmax" value="1.0" />
+
+      <constant name="beam_outgoing_z" value="beam_z" />
+      <constant name="beam_outgoing_rmax" value="1.2" />
+
+      <constant name="beam_pos_in_mask_x" value="3.325" />
+      <constant name="beam_pos_in_mask_lowz_x" value="3.10" />
+
+      <constant name="mask_inst_zplane1_rmin" value="8.14" />
+      <constant name="mask_inst_zplane1_rmax" value="19.0" />
+
+      <constant name="mask_inst_zplane2_rmin" value="8.92" />
+      <constant name="mask_inst_zplane2_rmax" value="19.0" />
+
+      <constant name="mask_zplane1_rmin" value="8.92" />
+      <constant name="mask_zplane1_rmax" value="19.0" />
+
+      <constant name="mask_zplane2_rmin" value="13.85" />
+      <constant name="mask_zplane2_rmax" value="19.0" />
+
+      <constant name="mask_lowz_rmax" value="7.87" />
+      <constant name="mask_lowz_z" value="10.0" />
+
+      <constant name="ecal_endcap_face_z" value="168.0" />
+      <constant name="ecal_endcap_thick" value="16.0" />
+
+      <constant name="hcal_endcap_face_z" value="184.0" />
+      <constant name="hcal_endcap_thick"  value="102.0" />
+      <constant name="hcal_endcap_outer_z" value="286.0" />
+
+      <constant name="lumcal_pos_z" value="332.5" />
+      <position name="lumcal_north_pos" x="0.0"  y="0.0" z="lumcal_pos_z" unit="cm" />
+      <position name="lumcal_south_pos" x="0.0"  y="0.0" z="-lumcal_pos_z" unit="cm" />
+
+      <constant name="mask_lowz_pos_z" value="310.0" />
+      <position name="mask_lowz_north_pos" x="0.0"  y="0.0"  z="mask_lowz_pos_z"   unit="cm" />
+      <position name="mask_lowz_south_pos" x="0.0"  y="0.0"  z="-mask_lowz_pos_z"   unit="cm" />
+
+      <constant name="mask_inst_pos_z" value="ecal_endcap_face_z + ecal_endcap_thick / 2" />
+      <position name="mask_inst_north_pos" x="0.0"  y="0.0"  z="mask_inst_pos_z" unit="cm" />
+      <position name="mask_inst_south_pos" x="0.0"  y="0.0"  z="-mask_inst_pos_z" unit="cm" />
+
+      <constant name="mask_pos_z" value="hcal_endcap_face_z + hcal_endcap_thick / 2" />
+      <position name="mask_north_pos" x="0.0" y="0.0" z="mask_pos_z" unit="cm" />
+      <position name="mask_south_pos" x="0.0" y="0.0" z="-mask_pos_z" unit="cm" />
+
+    </define>
+
+    <materials>
+
+      <!-- elements -->
+      <element name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value="39.9480" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <!-- materials -->
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+    </materials>
+
+    <solids>
+
+      <!-- world -->
+      <box  lunit="cm" 
+	    aunit="degree"
+	    name="world_box"
+	    x="world_x"  
+	    y="world_y"  
+	    z="world_z" />
+
+      <tube name="mask_lum_cal_tube"
+	    lunit="cm"
+	    z="mask_lum_cal_z"
+	    rmin="0.0"
+	    rmax="mask_lum_cal_rmax"
+ 	    deltaphi="TWOPI"
+	    />     
+
+      <tube name="beam_incoming"
+	    lunit="cm"
+	    z="beam_incoming_z"
+	    rmin="0.0"
+	    rmax="beam_incoming_rmax"
+	    deltaphi="TWOPI"
+	    />     
+
+      <tube name="beam_outgoing"
+	    lunit="cm"
+	    z="beam_outgoing_z"
+	    rmin="0.0"
+	    rmax="beam_outgoing_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <polycone name="mask_inst_polycone"
+		lunit="cm"
+		startphi="0"
+		deltaphi="TWOPI">
+
+	<zplane rmin="mask_inst_zplane1_rmin"
+		rmax="mask_inst_zplane1_rmax"
+		z="-ecal_endcap_thick / 2" />
+
+	<zplane rmin="mask_inst_zplane2_rmin"
+		rmax="mask_inst_zplane2_rmax"
+		z="ecal_endcap_thick / 2"/>
+
+      </polycone>
+
+      <polycone name="mask_polycone"
+		lunit="cm"
+		startphi="0"
+		deltaphi="TWOPI">
+	<zplane rmin="mask_zplane1_rmin"
+		rmax="mask_zplane1_rmax"
+		z="-hcal_endcap_thick / 2"/>
+	<zplane rmin="mask_zplane2_rmin"
+		rmax="mask_zplane2_rmax"
+		z="hcal_endcap_thick / 2"/>
+      </polycone>
+
+      <tube name="mask_lowz_tube"
+	    lunit="cm"
+	    rmin="0.0"
+	    rmax="mask_lowz_rmax"
+	    z="mask_lowz_z"
+	    startphi="0"
+	    deltaphi="TWOPI"/>
+      
+      <subtraction name="mask_lum_cal_bool1_sol">
+
+	<first ref="mask_lum_cal_tube" />
+	<second ref="beam_incoming" />
+
+	<position name="left_pos" x="beam_pos_in_mask_x * cm" y="0.0" z="0.0" />
+
+ 	<rotation name="left_rot" x="0.0" y="crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+      <subtraction name="mask_lum_cal_bool2_sol">
+	<first ref="mask_lum_cal_bool1_sol"/>
+	<second ref="beam_outgoing" />
+
+	<position name="right_pos" x="-beam_pos_in_mask_x * cm" y="0.0" z="0.0" />
+	<rotation name="right_rot" x="0.0" y="-crossing_angle * degree" z="0.0" /> 
+
+      </subtraction>
+
+      <subtraction name="mask_lowz_bool1_sol">
+	<first ref="mask_lowz_tube"/>
+	<second ref="beam_incoming"/>
+
+	<position name="mask_lowz_beam_incoming_pos" x="beam_pos_in_mask_lowz_x * cm" y="0.0" z="0.0" />
+	<rotation name="mask_lowz_beam_incoming_rot" x="0.0" y="crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+      <subtraction name="mask_lowz_bool2_sol">
+	<first ref="mask_lowz_bool1_sol"/>
+	<second ref="beam_outgoing"/>
+
+	<position name="mask_lowz_beam_outgoing_pos" x="-beam_pos_in_mask_lowz_x * cm" y="0.0" z="0.0" />
+	<rotation name="mask_lowz_beam_outgoing_rot" x="0.0" y="-crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+    </solids>
+
+    <structure>
+
+      <volume name="mask_lum_cal">
+	<materialref ref="Air"/>
+	<solidref ref="mask_lum_cal_bool2_sol"/>
+	<visref ref="MaskLumCalVis" />
+      </volume>
+
+      <volume name="mask_inst">
+	<materialref ref="Air"/>
+	<solidref ref="mask_inst_polycone"/>
+	<visref ref="InstMaskVis" />
+      </volume>
+
+      <volume name="mask">
+	<materialref ref="Air"/>
+	<solidref ref="mask_polycone"/>
+	<visref ref="MaskVis" />
+      </volume>
+
+      <volume name="mask_lowz">
+	<materialref ref="Air"/>
+	<solidref ref="mask_lowz_bool2_sol"/>
+	<visref ref="MaskLowzVis" />
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<!-- north system -->
+	<physvol>
+	  <volumeref ref="mask_lum_cal"/>
+	  <positionref ref="lumcal_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_inst"/>
+	  <positionref ref="mask_inst_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask"/>
+	  <positionref ref="mask_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_lowz"/>
+	  <positionref ref="mask_lowz_north_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<!-- south system -->
+	<physvol>
+	  <volumeref ref="mask_lum_cal"/>
+	  <positionref ref="lumcal_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_inst"/>
+	  <positionref ref="mask_inst_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask"/>
+	  <positionref ref="mask_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_lowz"/>
+	  <positionref ref="mask_lowz_south_pos" />
+	  <rotationref ref="south_rot" />
+	</physvol>
+
+	<visref ref="WorldVis" />
+      </volume>
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <!-- global field -->
+  <fields>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old
opticalsurfaces.gdml added at 3217
--- projects/lcdd/trunk/examples/old/opticalsurfaces.gdml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/opticalsurfaces.gdml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd" >
+  <define>
+    <position name="detinWorldp" unit="mm" x="0" y="0" z="0" />
+    <position name="pos2" unit="mm" x="2000" y="0" z="0" /> 
+
+    <matrix name="RINDEX" coldim="2" values="0.000002034 1.65
+					     0.000004136 1.65" />
+
+  </define>
+  <materials>
+    <element Z="7" formula="N" name="Nitrogen" >
+      <atom value="14.01" />
+    </element>
+    <element Z="8" formula="O" name="Oxygen" >
+      <atom value="16" />
+    </element>
+
+    <material formula=" " name="Air" >
+      <property name="RINDEX" ref="RINDEX"/>  
+      <D value="0.00129" />
+      <fraction n="0.7" ref="Nitrogen" />
+      <fraction n="0.3" ref="Oxygen" />
+    </material>
+
+  </materials>
+
+  <solids>
+    <box aunit="radian" lunit="mm" name="world" x="10000" y="10000" z="10000" />
+    <box aunit="radian" lunit="mm" name="det" x="2000" y="2000" z="2000" />
+    <opticalsurface name="surf1" model="glisur" finish="polished" type="dielectric_dielectric" value="1.0"/>
+  </solids>
+
+  <structure>
+    <volume name="Detector" >
+      <materialref ref="Air" />
+      <solidref ref="det" />
+    </volume>
+    <volume name="World" >
+      <materialref ref="Air" />
+      <solidref ref="world" />
+      <physvol name="pv1">
+	<volumeref ref="Detector" />
+	<positionref ref="detinWorldp" />
+      </physvol>
+      <physvol name="pv2">
+	<volumeref ref="Detector" />
+	<positionref ref="pos2" />
+      </physvol>
+    </volume>
+
+    <skinsurface name="skinsrf1" surfaceproperty="surf1" >
+      <volumeref ref="Detector"/>
+    </skinsurface> 
+
+    <bordersurface name="bordersrf1" surfaceproperty="surf1" >
+      <physvolref ref="pv1"/>
+      <physvolref ref="pv2"/>
+    </bordersurface> 
+
+  </structure>
+
+  <setup name="Default" version="1.0" >
+    <world ref="World" />
+  </setup>
+</gdml>

projects/lcdd/trunk/examples/old/sdjan03
SDJan03.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/sdjan03/SDJan03.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/sdjan03/SDJan03.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,14536 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="sdjan03_lcdd"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Full detector based on LCDG4's ParFiles/SDJan03.xml
+      with a tube-based geometry and projective readouts.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+    <!-- calorimeter id'ing scheme for all cal barr/endcaps -->
+    <idspec name="CalId" length="64">
+
+      <!-- lowest level vol id -->
+      <idfield label="layer" 
+	       start="0"
+	       length="7"
+	       signed="false"
+	       />
+
+      <!-- subdet level ids -->
+      <idfield label="sys"
+	       start="7"
+	       length="3"
+	       signed="false" />
+
+      <idfield label="barr"
+	       start="10"
+	       length="3"
+	       signed="false" />
+
+      <!-- projective segmentation ids -->
+      <idfield label="theta"
+	       start="32"
+	       length="11"
+	       signed="false" />
+      
+      <idfield label="phi"
+	       start="43"
+	       length="11"
+	       signed="false" />
+
+    </idspec>
+
+    <!-- tracker id for vtx/trk systems -->
+    <idspec name="TrkId" length="64">
+
+      <!-- lowest level vol id -->
+      <idfield label="layer" 
+	       start="0"
+	       length="10"
+	       signed="false"
+	       />
+
+      <!-- subdet level ids -->
+      <idfield label="sys"
+	       start="10"
+	       length="3"
+	       signed="false" />
+
+      <idfield label="barr"
+	       start="13"
+	       length="3"
+	       signed="false" />
+
+    </idspec>
+
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+
+    <!-- ecal SDs -->
+    <calorimeter name="EcalBarrSD"
+		 hits_collection="EcalBarrHits"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0"> 
+
+      <idspecref ref="CalId" />
+
+      <projective_cylinder ntheta="840"
+			   nphi="1680" />
+
+    </calorimeter>
+
+    <calorimeter name="EcalEndcapSD"
+		 hits_collection="EcalEndcapHits"
+		 endcap_flag="true"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0">
+
+      <idspecref ref="CalId" />
+
+      <projective_zplane ntheta="840"
+			 nphi="1680" />
+
+    </calorimeter>
+
+    <!-- hcal SDs -->
+    <calorimeter name="HcalBarrSD"
+		 hits_collection="HcalBarrHits"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0">
+
+      <idspecref ref="CalId" />
+      
+      <projective_cylinder ntheta="600"
+			   nphi="1200" />     
+
+    </calorimeter>
+
+    <calorimeter name="HcalEndcapSD"
+		 hits_collection="HcalEndcapHits"
+		 endcap_flag="true"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0">
+      
+      <idspecref ref="CalId" />
+
+      <projective_zplane ntheta="600"
+			nphi="1200" />
+    </calorimeter>
+
+    <!-- muon SDs -->
+    <calorimeter name="MuonBarrSD"
+		 hits_collection="MuonBarrHits"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0">
+
+      <idspecref ref="CalId" />
+
+      <projective_cylinder ntheta="150"
+			   nphi="300" />
+
+    </calorimeter>
+
+    <calorimeter name="MuonEndcapSD"
+		 hits_collection="MuonEndcapHits"
+		 endcap_flag="true"
+		 ecut="0.0"
+		 eunit="MeV"
+		 verbose="0">
+
+      <idspecref ref="CalId" />
+
+      <projective_zplane ntheta="150"
+			nphi="300" />
+
+    </calorimeter>
+
+    <!-- vtx SD -->
+    <tracker name="VtxBarrSD"
+	     hits_collection="VtxBarrHits"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0">
+
+      <idspecref ref="TrkId" />
+
+    </tracker>
+
+    <!-- trk SD -->
+    <tracker name="TrkBarrSD"
+	     hits_collection="TrkBarrHits"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0">
+
+      <idspecref ref="TrkId" />
+
+    </tracker>
+
+    <tracker name="TrkEndcapSD"
+	     hits_collection="TrkEndcapHits"
+	     endcap_flag="true"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0">
+
+      <idspecref ref="TrkId"/>
+
+    </tracker>
+    
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+    <region name="EcalRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="HcalRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="MuonRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="TrackingRegion"
+	    store_secondaries="true"
+	    cut="10.0"
+	    lunit="mm"
+	    threshold="1.0"
+	    eunit="MeV" />
+
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="WorldVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="EcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="HcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+
+      <color R="1.0"
+	     G="1.0"
+	     B="0.0" 
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MuonVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.8"
+	     G="0.5"
+	     B="0.4"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="VtxVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="1.0"
+	     B="0.0"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="TrkVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="0.0"
+	     B="1.0"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="CoilVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>     
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <!-- system IDs -->
+      <constant name="vtx_sys_id" value="1" />
+      <constant name="trk_sys_id" value="2" />
+      <constant name="lum_sys_id" value="3" />
+      <constant name="ecal_sys_id" value="4" />
+      <constant name="hcal_sys_id" value="5" />
+      <constant name="muon_sys_id" value="6" />
+
+      <!-- barr, endcap IDs -->
+      <constant name="barr_id" value="0" />
+      <constant name="endcap_north_id" value="1" />
+      <constant name="endcap_south_id" value="2" />     
+
+      <!-- laying starts at lay 0 -->
+      <constant name="global_lay_start_id" value="0" />
+
+      <!-- beampipe -->
+
+      <!-- beampipe inner -->
+      <constant name="pipe_inner_thick" value="0.165"/>
+      <constant name="pipe_inner_rmin" value="11.0"/>
+      <constant name="pipe_inner_rmax" value="pipe_inner_rmin + pipe_inner_thick" />
+      <constant name="pipe_inner_zlen" value="3.1 * 2" />      
+
+      <!-- beampipe inner shield cone -->     
+      <constant name="pipe_inner_shield_thick" value="0.1" />
+      <constant name="pipe_inner_shield_rmin1" value="11.0" />
+      <constant name="pipe_inner_shield_rmin2" value="22.0" />
+      <constant name="pipe_inner_shield_rmax1" value="pipe_inner_shield_rmin1 + pipe_inner_shield_thick" />
+      <constant name="pipe_inner_shield_rmax2" value="pipe_inner_shield_rmin2 + pipe_inner_shield_thick" />
+      <constant name="pipe_inner_shield_zlen" value="35.0" />
+      <constant name="pipe_inner_shield_pos_zface" value="31.0"/>
+      <constant name="pipe_inner_shield_pos_z" value="pipe_inner_shield_pos_zface + pipe_inner_shield_zlen / 2" />
+
+      <position name="pipe_inner_shield_north_pos" z="pipe_inner_shield_pos_z" />
+      <position name="pipe_inner_shield_south_pos" z="-pipe_inner_shield_pos_z" />
+
+      <rotation name="pipe_inner_shield_south_rot" z="180.0 * deg"/>
+      <!-- lum -->
+
+      <!-- vtx -->
+
+      <!-- vtx barr -->
+      <constant name="vtx_si_thick" value="0.1" />
+      <constant name="vtx_lay_thick" value="vtx_si_thick" />
+      <constant name="vtx_barr_lay_thick" value="vtx_lay_thick" />
+      <constant name="vtx_barr_layer_zlen" value="125.0 * 2" />
+
+      <constant name="vtx_barr_rmin" value="12.0" />
+
+      <!-- vtx barr layer 0 -->     
+      <constant name="vtx_barr_lay0_rmin" value="vtx_barr_rmin" />
+      <constant name="vtx_barr_lay0_rmax" value="vtx_barr_lay0_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay0_zlen" value="25.0 * 2" />
+
+      <!-- vtx barr layer 1 -->
+      <constant name="vtx_barr_lay1_rmin" value="24.0" />
+      <constant name="vtx_barr_lay1_rmax" value="vtx_barr_lay1_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay1_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 2 -->
+      <constant name="vtx_barr_lay2_rmin" value="36.0" />
+      <constant name="vtx_barr_lay2_rmax" value="vtx_barr_lay2_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay2_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 3 -->
+      <constant name="vtx_barr_lay3_rmin" value="48.0" />
+      <constant name="vtx_barr_lay3_rmax" value="vtx_barr_lay3_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay3_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 4 -->
+      <constant name="vtx_barr_lay4_rmin" value="60.0" />
+      <constant name="vtx_barr_lay4_rmax" value="vtx_barr_lay4_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay4_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx outer wall -->
+      <constant name="vtx_barr_outer_wall_thick" value="1.0" />
+      <constant name="vtx_barr_outer_wall_rmin" value="vtx_barr_lay4_rmax" />
+      <constant name="vtx_barr_outer_wall_rmax" value="vtx_barr_outer_wall_rmin + vtx_barr_outer_wall_thick" />
+      <constant name="vtx_barr_outer_wall_zlen" value="150.0 * 2" />
+
+      <constant name="vtx_barr_zlen" value="vtx_barr_outer_wall_zlen" />
+      <constant name="vtx_barr_rmax" value="vtx_barr_outer_wall_rmax" />
+
+      <!-- vtx barr id -->
+      <constant name="vtx_barr_lay0_id" value="0." />
+      <constant name="vtx_barr_lay1_id" value="1." />
+      <constant name="vtx_barr_lay2_id" value="2." />
+      <constant name="vtx_barr_lay3_id" value="3." />
+      <constant name="vtx_barr_lay4_id" value="4." />
+
+      <!-- vtx endcap -->
+      
+      <!-- vtx endplate -->
+      <constant name="vtx_endcap_endplate_rmin" value="22.0" />
+      <constant name="vtx_endcap_endplate_rmax" value="70.0" />
+      <constant name="vtx_endcap_endplate_thick" value="3.0" />
+      <constant name="vtx_endcap_endplate_zlen" value="vtx_endcap_endplate_thick" />
+
+      <!-- vtx cryo endplate -->
+      <constant name="vtx_endcap_cryo_rmin" value="22.0" />
+      <constant name="vtx_endcap_cryo_rmax" value="110.0" />
+      <constant name="vtx_endcap_cryo_thick" value="30.0" />
+      <constant name="vtx_endcap_cryo_zlen" value="vtx_endcap_cryo_thick" />
+      
+      <!-- vtx endcap envelope -->
+      <constant name="vtx_endcap_rmin" value="vtx_endcap_endplate_rmin" />
+      <constant name="vtx_endcap_rmax" value="vtx_endcap_cryo_rmax" />
+
+      <constant name="vtx_endcap_cryo_endplate_gap" value="47.0" />
+
+      <constant name="vtx_endcap_thick" value="vtx_endcap_cryo_thick + 
+					       vtx_endcap_cryo_endplate_gap +
+					       vtx_endcap_endplate_thick" />
+
+      <constant name="vtx_endcap_zlen" value="vtx_endcap_thick" />
+
+      <!-- vtx endcap z positions -->
+
+      <!-- vtx endcap face z pos -->
+      <constant name="vtx_endcap_pos_face_z" value="150.0" />
+
+      <!-- vtx endcap z pos -->
+      <constant name="vtx_endcap_pos_z" value="vtx_endcap_pos_face_z + vtx_endcap_thick / 2" />
+
+      <!-- vtx endcap, endplate z to cryo z incr w/in the endcap envelope -->
+      <constant name="vtx_endcap_cryo_incr_z" value="vtx_endcap_endplate_thick / 2 +
+						     vtx_endcap_cryo_endplate_gap +
+						     vtx_endcap_cryo_thick / 2" />
+
+      <!-- vtx endcap N/S endplate z pos -->
+      <constant name="vtx_endcap_north_endplate_pos_z" value="-( vtx_endcap_thick / 2 ) + ( vtx_endcap_endplate_thick / 2 )" />
+      <constant name="vtx_endcap_south_endplate_pos_z" value="( vtx_endcap_thick / 2 ) - ( vtx_endcap_endplate_thick / 2 )" />
+
+      <!-- vtx endcap N/S cryo z pos -->
+      <constant name="vtx_endcap_north_cryo_pos_z" value="vtx_endcap_north_endplate_pos_z + vtx_endcap_cryo_incr_z" />
+      <constant name="vtx_endcap_south_cryo_pos_z" value="vtx_endcap_south_endplate_pos_z - vtx_endcap_cryo_incr_z" />
+
+      <!-- vtx endcap N/S positions -->
+      <position name="vtx_endcap_north_pos" z="vtx_endcap_pos_z" />
+      <position name="vtx_endcap_south_pos" z="-vtx_endcap_pos_z" />
+
+      <!-- vtx endcap N endplate pos -->
+      <position name="vtx_endcap_north_endplate_pos" z="vtx_endcap_north_endplate_pos_z" />
+      <position name="vtx_endcap_south_endplate_pos" z="vtx_endcap_south_endplate_pos_z" />
+
+      <!-- vtx endcap N cryo pos -->
+      <position name="vtx_endcap_north_cryo_pos" z="vtx_endcap_north_cryo_pos_z" />
+      <position name="vtx_endcap_south_cryo_pos" z="vtx_endcap_south_cryo_pos_z" />
+
+      <!-- trk -->
+
+      <!-- trk barr -->
+
+      <!-- trk area starts contiguously to vtx, though may include an air gap -->
+      <!-- <constant name="trk_barr_rmin" value="vtx_barr_rmax" /> -->
+      <constant name="trk_barr_rmin" value="200.0" />
+      <constant name="trk_barr_outer_air_gap" value="19.0" />
+      <constant name="trk_barr_rmax" value="1251.0 + trk_barr_outer_air_gap" />
+
+      <constant name="trk_barr_si_thick" value="0.2" />
+      <constant name="trk_barr_g10_thick" value="0.5" />
+      <constant name="trk_barr_lay_thick" value="trk_barr_si_thick + trk_barr_g10_thick" />
+
+      <!-- trk barr layer 0 -->
+      <constant name="trk_barr_lay0_rmin" value="trk_barr_rmin" />
+      <constant name="trk_barr_lay0_rmax" value="trk_barr_lay0_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay0_zlen" value="266.7 * 2" />
+
+      <constant name="trk_barr_lay0_g10_rmin" value="trk_barr_lay0_rmin" />
+      <constant name="trk_barr_lay0_g10_rmax" value="trk_barr_lay0_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay0_si_rmin" value="trk_barr_lay0_g10_rmax" />
+      <constant name="trk_barr_lay0_si_rmax" value="trk_barr_lay0_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 1 -->
+      <constant name="trk_barr_lay1_rmin" value="462.5" />
+      <constant name="trk_barr_lay1_rmax" value="trk_barr_lay1_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay1_zlen" value="616.7 * 2" />
+
+      <constant name="trk_barr_lay1_g10_rmin" value="trk_barr_lay1_rmin" />
+      <constant name="trk_barr_lay1_g10_rmax" value="trk_barr_lay1_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay1_si_rmin" value="trk_barr_lay1_g10_rmax" />
+      <constant name="trk_barr_lay1_si_rmax" value="trk_barr_lay1_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 2 -->
+      <constant name="trk_barr_lay2_rmin" value="725.0" />
+      <constant name="trk_barr_lay2_rmax" value="trk_barr_lay2_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay2_zlen" value="966.7 * 2" />
+
+      <constant name="trk_barr_lay2_g10_rmin" value="trk_barr_lay2_rmin" />
+      <constant name="trk_barr_lay2_g10_rmax" value="trk_barr_lay2_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay2_si_rmin" value="trk_barr_lay2_g10_rmax" />
+      <constant name="trk_barr_lay2_si_rmax" value="trk_barr_lay2_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 3 -->
+      <constant name="trk_barr_lay3_rmin" value="987.5" />
+      <constant name="trk_barr_lay3_rmax" value="trk_barr_lay3_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay3_zlen" value="1316.7 * 2" />
+
+      <constant name="trk_barr_lay3_g10_rmin" value="trk_barr_lay3_rmin" />
+      <constant name="trk_barr_lay3_g10_rmax" value="trk_barr_lay3_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay3_si_rmin" value="trk_barr_lay3_g10_rmax" />
+      <constant name="trk_barr_lay3_si_rmax" value="trk_barr_lay3_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 4 -->
+      <constant name="trk_barr_lay4_rmin" value="1250.0" />
+      <constant name="trk_barr_lay4_rmax" value="trk_barr_lay4_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay4_zlen" value="1666.7 * 2" />
+
+      <constant name="trk_barr_lay4_g10_rmin" value="trk_barr_lay4_rmin" />
+      <constant name="trk_barr_lay4_g10_rmax" value="trk_barr_lay4_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay4_si_rmin" value="trk_barr_lay4_g10_rmax" />
+      <constant name="trk_barr_lay4_si_rmax" value="trk_barr_lay4_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr zlen -->
+      <constant name="trk_barr_zlen" value="trk_barr_lay4_zlen" />
+
+      <!-- trk barr id -->
+      <constant name="trk_barr_lay0_id" value="0." />
+      <constant name="trk_barr_lay1_id" value="1." />
+      <constant name="trk_barr_lay2_id" value="2." />
+      <constant name="trk_barr_lay3_id" value="3." />
+      <constant name="trk_barr_lay4_id" value="4." />
+      <constant name="trk_barr_lay5_id" value="5." />
+
+      <!-- trk endcap -->
+
+      <!-- trk endcap number of readout modules -->
+      <constant name="trk_endcap_num_mod" value="5.0" />
+
+      <!-- trk endcap z start pos of face -->
+      <constant name="trk_endcap_face_z" value="271.0" />
+
+      <!-- trk endcap slice thicknesses -->
+      <constant name="trk_endcap_mod_si_thick" value="0.2" />
+      <constant name="trk_endcap_mod_g10_thick" value="1.0" />
+      <constant name="trk_endcap_mod_post_air_gap_thick" value="348.6" />
+      <constant name="trk_endcap_pre_disk_air_gap" value="157.6" />
+
+      <constant name="trk_endcap_mod_si_zlen" value="trk_endcap_mod_si_thick" />
+      <constant name="trk_endcap_mod_g10_zlen" value="trk_endcap_mod_g10_thick" />
+
+      <!-- trk endcap module thickness, first 4 with standard gap, last with pre_outer_disk gap -->
+      <constant name="trk_endcap_mod_base_thick" value="( 2 * trk_endcap_mod_si_thick ) + trk_endcap_mod_g10_thick" />
+      <constant name="trk_endcap_mod_with_post_air_gap_thick" value="trk_endcap_mod_base_thick + trk_endcap_mod_post_air_gap_thick" />
+      <constant name="trk_endcap_mod_with_pre_disk_air_gap_thick" value="trk_endcap_mod_base_thick + trk_endcap_pre_disk_air_gap" />
+
+      <!-- trk endcap radii -->
+      <constant name="trk_endcap_mod0_rmin" value="40.0" />
+      <constant name="trk_endcap_mod0_rmax" value="205.0" />
+
+      <constant name="trk_endcap_mod1_rmin" value="79.0" />
+      <constant name="trk_endcap_mod1_rmax" value="467.5" />
+
+      <constant name="trk_endcap_mod2_rmin" value="117.0" />
+      <constant name="trk_endcap_mod2_rmax" value="730.0" />
+
+      <constant name="trk_endcap_mod3_rmin" value="156.0" />
+      <constant name="trk_endcap_mod3_rmax" value="992.5" />
+
+      <constant name="trk_endcap_mod4_rmin" value="195.0" />
+      <constant name="trk_endcap_mod4_rmax" value="1255.0" />
+
+      <!-- trk endcap module pos z -->
+      <constant name="trk_endcap_north_mod_start_pos_z" value="trk_endcap_face_z + ( trk_endcap_mod_si_thick / 2 )" />
+      <constant name="trk_endcap_south_mod_start_pos_z" value="-trk_endcap_face_z - ( trk_endcap_mod_si_thick / 2 )" />
+
+      <constant name="trk_endcap_mod_incr_z" value="trk_endcap_mod_with_post_air_gap_thick" />
+
+      <constant name="trk_endcap_north_mod_lay_start_pos_z" value="-( trk_endcap_mod_base_thick / 2 ) + ( trk_endcap_mod_si_thick / 2 )" />
+      <constant name="trk_endcap_south_mod_lay_start_pos_z" value="( trk_endcap_mod_base_thick / 2 ) - ( trk_endcap_mod_si_thick / 2 )" />
+
+      <!-- trk endcap north mod layer pos z -->
+      <constant name="trk_endcap_north_mod_si1_pos_z" value="trk_endcap_north_mod_lay_start_pos_z" />
+      <constant name="trk_endcap_north_mod_si2_pos_z" value="trk_endcap_north_mod_si1_pos_z + trk_endcap_mod_si_thick" />
+      <constant name="trk_endcap_north_mod_g10_pos_z" value="trk_endcap_north_mod_si2_pos_z + 
+							     ( trk_endcap_mod_si_thick / 2 ) + 
+							     ( trk_endcap_mod_g10_thick / 2 )" />
+
+      <!-- trk endcap south mod layer pos z -->
+      <constant name="trk_endcap_south_mod_si1_pos_z" value="trk_endcap_south_mod_lay_start_pos_z" />
+      <constant name="trk_endcap_south_mod_si2_pos_z" value="trk_endcap_south_mod_si1_pos_z - trk_endcap_mod_si_thick" />
+      <constant name="trk_endcap_south_mod_g10_pos_z" value="trk_endcap_south_mod_si2_pos_z - 
+							     trk_endcap_mod_si_thick / 2 - 
+							     trk_endcap_mod_g10_thick / 2" />
+
+      <!-- trk north pos z -->
+      <constant name="trk_endcap_north_mod0_pos_z" value="trk_endcap_north_mod_start_pos_z" />
+      <constant name="trk_endcap_north_mod1_pos_z" value="trk_endcap_north_mod0_pos_z + trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_north_mod2_pos_z" value="trk_endcap_north_mod1_pos_z + trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_north_mod3_pos_z" value="trk_endcap_north_mod2_pos_z + trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_north_mod4_pos_z" value="trk_endcap_north_mod3_pos_z + trk_endcap_mod_incr_z" />
+
+      <!-- trk south pos z -->
+      <constant name="trk_endcap_south_mod0_pos_z" value="trk_endcap_south_mod_start_pos_z" />
+      <constant name="trk_endcap_south_mod1_pos_z" value="trk_endcap_south_mod0_pos_z - trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_south_mod2_pos_z" value="trk_endcap_south_mod1_pos_z - trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_south_mod3_pos_z" value="trk_endcap_south_mod2_pos_z - trk_endcap_mod_incr_z" />
+      <constant name="trk_endcap_south_mod4_pos_z" value="trk_endcap_south_mod3_pos_z - trk_endcap_mod_incr_z" />
+
+      <!-- trk endcap positions -->
+      <position name="trk_endcap_north_mod0_pos" z="trk_endcap_north_mod0_pos_z" />
+      <position name="trk_endcap_north_mod1_pos" z="trk_endcap_north_mod1_pos_z" />
+      <position name="trk_endcap_north_mod2_pos" z="trk_endcap_north_mod2_pos_z" />
+      <position name="trk_endcap_north_mod3_pos" z="trk_endcap_north_mod3_pos_z" />
+      <position name="trk_endcap_north_mod4_pos" z="trk_endcap_north_mod4_pos_z" />
+
+      <position name="trk_endcap_south_mod0_pos" z="trk_endcap_south_mod0_pos_z" />
+      <position name="trk_endcap_south_mod1_pos" z="trk_endcap_south_mod1_pos_z" />
+      <position name="trk_endcap_south_mod2_pos" z="trk_endcap_south_mod2_pos_z" />
+      <position name="trk_endcap_south_mod3_pos" z="trk_endcap_south_mod3_pos_z" />
+      <position name="trk_endcap_south_mod4_pos" z="trk_endcap_south_mod4_pos_z" />
+
+      <position name="trk_endcap_south_mod_si1_pos" z="trk_endcap_south_mod_si1_pos_z" />
+      <position name="trk_endcap_south_mod_si2_pos" z="trk_endcap_south_mod_si2_pos_z" />
+      <position name="trk_endcap_south_mod_g10_pos" z="trk_endcap_south_mod_g10_pos_z" />
+
+      <position name="trk_endcap_north_mod_si1_pos" z="trk_endcap_north_mod_si1_pos_z" />
+      <position name="trk_endcap_north_mod_si2_pos" z="trk_endcap_north_mod_si2_pos_z" />
+      <position name="trk_endcap_north_mod_g10_pos" z="trk_endcap_north_mod_g10_pos_z" />
+
+      <!-- trk endcap id -->
+      <constant name="trk_endcap_lay0_id" value="0." />
+      <constant name="trk_endcap_lay1_id" value="1." />
+      <constant name="trk_endcap_lay2_id" value="2." />
+      <constant name="trk_endcap_lay3_id" value="3." />
+      <constant name="trk_endcap_lay4_id" value="4." />
+      <constant name="trk_endcap_lay5_id" value="5." />
+      <constant name="trk_endcap_lay6_id" value="6." />
+      <constant name="trk_endcap_lay7_id" value="7." />
+      <constant name="trk_endcap_lay8_id" value="8." />
+      <constant name="trk_endcap_lay9_id" value="9." />
+
+      <!-- tracking volume -->
+      <constant name="tracking_envelope_rmin" value="0.0" />
+      
+      <!-- ecal -->
+
+      <!-- thicknesses for barr and endcap -->
+      <constant name="ecal_w_thick" value="2.5" />
+      <constant name="ecal_g10_thick" value="0.5" />
+      <constant name="ecal_si_thick" value="0.4" />
+      <constant name="ecal_cu_thick" value="1.0" />
+      <constant name="ecal_air_thick" value="0.6" />
+
+      <constant name="ecal_lay_thick" value="ecal_w_thick + 
+					     ecal_g10_thick + 
+					     ecal_si_thick + 
+					     ecal_cu_thick + 
+					     ecal_air_thick" />
+
+      <!-- ecal barr primary constants -->
+      <constant name="ecal_barr_num_lay" value="30" />
+
+      <constant name="ecal_barr_w_thick" value="ecal_w_thick" />
+      <constant name="ecal_barr_g10_thick" value="ecal_g10_thick" />
+      <constant name="ecal_barr_si_thick" value="ecal_si_thick" />
+      <constant name="ecal_barr_cu_thick" value="ecal_cu_thick" />
+      <constant name="ecal_barr_air_thick" value="ecal_air_thick" />
+
+      <constant name="ecal_barr_lay_thick" value="ecal_lay_thick" />
+
+      <constant name="ecal_barr_total_lay_thick" value="ecal_barr_lay_thick * ecal_barr_num_lay" />
+
+      <!-- ecal barr primary constants -->
+      <!--<constant name="ecal_barr_rmin" value="tracking_envelope_rmax" />-->
+      <constant name="ecal_barr_rmin" value="1270.0" />
+      <constant name="ecal_barr_outer_wall_thick" value="20.0" />
+      <constant name="ecal_barr_thick" value="ecal_barr_total_lay_thick + ecal_barr_outer_wall_thick" />
+      <constant name="ecal_barr_rmax" value="ecal_barr_rmin + ecal_barr_thick" />
+      <constant name="ecal_barr_zlen" value="1840.0 * 2" />
+
+      <!-- ecal barr layers -->
+
+      <!-- ecal barr layer 0 -->
+      <constant name="ecal_barr_lay0_rmin" value="ecal_barr_rmin" />
+      <constant name="ecal_barr_lay0_rmax" value="ecal_barr_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay0_w_rmin" value="ecal_barr_lay0_rmin" />
+      <constant name="ecal_barr_lay0_w_rmax" value="ecal_barr_lay0_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay0_g10_rmin" value="ecal_barr_lay0_w_rmax" />
+      <constant name="ecal_barr_lay0_g10_rmax" value="ecal_barr_lay0_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay0_si_rmin" value="ecal_barr_lay0_g10_rmax" />
+      <constant name="ecal_barr_lay0_si_rmax" value="ecal_barr_lay0_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay0_cu_rmin" value="ecal_barr_lay0_si_rmax" />
+      <constant name="ecal_barr_lay0_cu_rmax" value="ecal_barr_lay0_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay0_air_rmin" value="ecal_barr_lay0_cu_rmax" />
+      <constant name="ecal_barr_lay0_air_rmax" value="ecal_barr_lay0_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 1 -->
+      <constant name="ecal_barr_lay1_rmin" value="ecal_barr_lay0_rmax" />
+      <constant name="ecal_barr_lay1_rmax" value="ecal_barr_lay1_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay1_w_rmin" value="ecal_barr_lay1_rmin" />
+      <constant name="ecal_barr_lay1_w_rmax" value="ecal_barr_lay1_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay1_g10_rmin" value="ecal_barr_lay1_w_rmax" />
+      <constant name="ecal_barr_lay1_g10_rmax" value="ecal_barr_lay1_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay1_si_rmin" value="ecal_barr_lay1_g10_rmax" />
+      <constant name="ecal_barr_lay1_si_rmax" value="ecal_barr_lay1_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay1_cu_rmin" value="ecal_barr_lay1_si_rmax" />
+      <constant name="ecal_barr_lay1_cu_rmax" value="ecal_barr_lay1_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay1_air_rmin" value="ecal_barr_lay1_cu_rmax" />
+      <constant name="ecal_barr_lay1_air_rmax" value="ecal_barr_lay1_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 2 -->
+      <constant name="ecal_barr_lay2_rmin" value="ecal_barr_lay1_rmax" />
+      <constant name="ecal_barr_lay2_rmax" value="ecal_barr_lay2_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay2_w_rmin" value="ecal_barr_lay2_rmin" />
+      <constant name="ecal_barr_lay2_w_rmax" value="ecal_barr_lay2_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay2_g10_rmin" value="ecal_barr_lay2_w_rmax" />
+      <constant name="ecal_barr_lay2_g10_rmax" value="ecal_barr_lay2_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay2_si_rmin" value="ecal_barr_lay2_g10_rmax" />
+      <constant name="ecal_barr_lay2_si_rmax" value="ecal_barr_lay2_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay2_cu_rmin" value="ecal_barr_lay2_si_rmax" />
+      <constant name="ecal_barr_lay2_cu_rmax" value="ecal_barr_lay2_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay2_air_rmin" value="ecal_barr_lay2_cu_rmax" />
+      <constant name="ecal_barr_lay2_air_rmax" value="ecal_barr_lay2_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 3 -->
+      <constant name="ecal_barr_lay3_rmin" value="ecal_barr_lay2_rmax" />
+      <constant name="ecal_barr_lay3_rmax" value="ecal_barr_lay3_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay3_w_rmin" value="ecal_barr_lay3_rmin" />
+      <constant name="ecal_barr_lay3_w_rmax" value="ecal_barr_lay3_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay3_g10_rmin" value="ecal_barr_lay3_w_rmax" />
+      <constant name="ecal_barr_lay3_g10_rmax" value="ecal_barr_lay3_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay3_si_rmin" value="ecal_barr_lay3_g10_rmax" />
+      <constant name="ecal_barr_lay3_si_rmax" value="ecal_barr_lay3_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay3_cu_rmin" value="ecal_barr_lay3_si_rmax" />
+      <constant name="ecal_barr_lay3_cu_rmax" value="ecal_barr_lay3_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay3_air_rmin" value="ecal_barr_lay3_cu_rmax" />
+      <constant name="ecal_barr_lay3_air_rmax" value="ecal_barr_lay3_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 4 -->
+      <constant name="ecal_barr_lay4_rmin" value="ecal_barr_lay3_rmax" />
+      <constant name="ecal_barr_lay4_rmax" value="ecal_barr_lay4_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay4_w_rmin" value="ecal_barr_lay4_rmin" />
+      <constant name="ecal_barr_lay4_w_rmax" value="ecal_barr_lay4_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay4_g10_rmin" value="ecal_barr_lay4_w_rmax" />
+      <constant name="ecal_barr_lay4_g10_rmax" value="ecal_barr_lay4_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay4_si_rmin" value="ecal_barr_lay4_g10_rmax" />
+      <constant name="ecal_barr_lay4_si_rmax" value="ecal_barr_lay4_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay4_cu_rmin" value="ecal_barr_lay4_si_rmax" />
+      <constant name="ecal_barr_lay4_cu_rmax" value="ecal_barr_lay4_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay4_air_rmin" value="ecal_barr_lay4_cu_rmax" />
+      <constant name="ecal_barr_lay4_air_rmax" value="ecal_barr_lay4_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 5 -->
+      <constant name="ecal_barr_lay5_rmin" value="ecal_barr_lay4_rmax" />
+      <constant name="ecal_barr_lay5_rmax" value="ecal_barr_lay5_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay5_w_rmin" value="ecal_barr_lay5_rmin" />
+      <constant name="ecal_barr_lay5_w_rmax" value="ecal_barr_lay5_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay5_g10_rmin" value="ecal_barr_lay5_w_rmax" />
+      <constant name="ecal_barr_lay5_g10_rmax" value="ecal_barr_lay5_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay5_si_rmin" value="ecal_barr_lay5_g10_rmax" />
+      <constant name="ecal_barr_lay5_si_rmax" value="ecal_barr_lay5_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay5_cu_rmin" value="ecal_barr_lay5_si_rmax" />
+      <constant name="ecal_barr_lay5_cu_rmax" value="ecal_barr_lay5_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay5_air_rmin" value="ecal_barr_lay5_cu_rmax" />
+      <constant name="ecal_barr_lay5_air_rmax" value="ecal_barr_lay5_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 6 -->
+      <constant name="ecal_barr_lay6_rmin" value="ecal_barr_lay5_rmax" />
+      <constant name="ecal_barr_lay6_rmax" value="ecal_barr_lay6_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay6_w_rmin" value="ecal_barr_lay6_rmin" />
+      <constant name="ecal_barr_lay6_w_rmax" value="ecal_barr_lay6_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay6_g10_rmin" value="ecal_barr_lay6_w_rmax" />
+      <constant name="ecal_barr_lay6_g10_rmax" value="ecal_barr_lay6_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay6_si_rmin" value="ecal_barr_lay6_g10_rmax" />
+      <constant name="ecal_barr_lay6_si_rmax" value="ecal_barr_lay6_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay6_cu_rmin" value="ecal_barr_lay6_si_rmax" />
+      <constant name="ecal_barr_lay6_cu_rmax" value="ecal_barr_lay6_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay6_air_rmin" value="ecal_barr_lay6_cu_rmax" />
+      <constant name="ecal_barr_lay6_air_rmax" value="ecal_barr_lay6_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 7 -->
+      <constant name="ecal_barr_lay7_rmin" value="ecal_barr_lay6_rmax" />
+      <constant name="ecal_barr_lay7_rmax" value="ecal_barr_lay7_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay7_w_rmin" value="ecal_barr_lay7_rmin" />
+      <constant name="ecal_barr_lay7_w_rmax" value="ecal_barr_lay7_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay7_g10_rmin" value="ecal_barr_lay7_w_rmax" />
+      <constant name="ecal_barr_lay7_g10_rmax" value="ecal_barr_lay7_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay7_si_rmin" value="ecal_barr_lay7_g10_rmax" />
+      <constant name="ecal_barr_lay7_si_rmax" value="ecal_barr_lay7_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay7_cu_rmin" value="ecal_barr_lay7_si_rmax" />
+      <constant name="ecal_barr_lay7_cu_rmax" value="ecal_barr_lay7_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay7_air_rmin" value="ecal_barr_lay7_cu_rmax" />
+      <constant name="ecal_barr_lay7_air_rmax" value="ecal_barr_lay7_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 8 -->
+      <constant name="ecal_barr_lay8_rmin" value="ecal_barr_lay7_rmax" />
+      <constant name="ecal_barr_lay8_rmax" value="ecal_barr_lay8_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay8_w_rmin" value="ecal_barr_lay8_rmin" />
+      <constant name="ecal_barr_lay8_w_rmax" value="ecal_barr_lay8_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay8_g10_rmin" value="ecal_barr_lay8_w_rmax" />
+      <constant name="ecal_barr_lay8_g10_rmax" value="ecal_barr_lay8_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay8_si_rmin" value="ecal_barr_lay8_g10_rmax" />
+      <constant name="ecal_barr_lay8_si_rmax" value="ecal_barr_lay8_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay8_cu_rmin" value="ecal_barr_lay8_si_rmax" />
+      <constant name="ecal_barr_lay8_cu_rmax" value="ecal_barr_lay8_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay8_air_rmin" value="ecal_barr_lay8_cu_rmax" />
+      <constant name="ecal_barr_lay8_air_rmax" value="ecal_barr_lay8_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 9 -->
+      <constant name="ecal_barr_lay9_rmin" value="ecal_barr_lay8_rmax" />
+      <constant name="ecal_barr_lay9_rmax" value="ecal_barr_lay9_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay9_w_rmin" value="ecal_barr_lay9_rmin" />
+      <constant name="ecal_barr_lay9_w_rmax" value="ecal_barr_lay9_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay9_g10_rmin" value="ecal_barr_lay9_w_rmax" />
+      <constant name="ecal_barr_lay9_g10_rmax" value="ecal_barr_lay9_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay9_si_rmin" value="ecal_barr_lay9_g10_rmax" />
+      <constant name="ecal_barr_lay9_si_rmax" value="ecal_barr_lay9_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay9_cu_rmin" value="ecal_barr_lay9_si_rmax" />
+      <constant name="ecal_barr_lay9_cu_rmax" value="ecal_barr_lay9_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay9_air_rmin" value="ecal_barr_lay9_cu_rmax" />
+      <constant name="ecal_barr_lay9_air_rmax" value="ecal_barr_lay9_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 10 -->
+      <constant name="ecal_barr_lay10_rmin" value="ecal_barr_lay9_rmax" />
+      <constant name="ecal_barr_lay10_rmax" value="ecal_barr_lay10_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay10_w_rmin" value="ecal_barr_lay10_rmin" />
+      <constant name="ecal_barr_lay10_w_rmax" value="ecal_barr_lay10_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay10_g10_rmin" value="ecal_barr_lay10_w_rmax" />
+      <constant name="ecal_barr_lay10_g10_rmax" value="ecal_barr_lay10_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay10_si_rmin" value="ecal_barr_lay10_g10_rmax" />
+      <constant name="ecal_barr_lay10_si_rmax" value="ecal_barr_lay10_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay10_cu_rmin" value="ecal_barr_lay10_si_rmax" />
+      <constant name="ecal_barr_lay10_cu_rmax" value="ecal_barr_lay10_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay10_air_rmin" value="ecal_barr_lay10_cu_rmax" />
+      <constant name="ecal_barr_lay10_air_rmax" value="ecal_barr_lay10_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 11 -->
+      <constant name="ecal_barr_lay11_rmin" value="ecal_barr_lay10_rmax" />
+      <constant name="ecal_barr_lay11_rmax" value="ecal_barr_lay11_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay11_w_rmin" value="ecal_barr_lay11_rmin" />
+      <constant name="ecal_barr_lay11_w_rmax" value="ecal_barr_lay11_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay11_g10_rmin" value="ecal_barr_lay11_w_rmax" />
+      <constant name="ecal_barr_lay11_g10_rmax" value="ecal_barr_lay11_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay11_si_rmin" value="ecal_barr_lay11_g10_rmax" />
+      <constant name="ecal_barr_lay11_si_rmax" value="ecal_barr_lay11_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay11_cu_rmin" value="ecal_barr_lay11_si_rmax" />
+      <constant name="ecal_barr_lay11_cu_rmax" value="ecal_barr_lay11_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay11_air_rmin" value="ecal_barr_lay11_cu_rmax" />
+      <constant name="ecal_barr_lay11_air_rmax" value="ecal_barr_lay11_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 12 -->
+      <constant name="ecal_barr_lay12_rmin" value="ecal_barr_lay11_rmax" />
+      <constant name="ecal_barr_lay12_rmax" value="ecal_barr_lay12_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay12_w_rmin" value="ecal_barr_lay12_rmin" />
+      <constant name="ecal_barr_lay12_w_rmax" value="ecal_barr_lay12_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay12_g10_rmin" value="ecal_barr_lay12_w_rmax" />
+      <constant name="ecal_barr_lay12_g10_rmax" value="ecal_barr_lay12_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay12_si_rmin" value="ecal_barr_lay12_g10_rmax" />
+      <constant name="ecal_barr_lay12_si_rmax" value="ecal_barr_lay12_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay12_cu_rmin" value="ecal_barr_lay12_si_rmax" />
+      <constant name="ecal_barr_lay12_cu_rmax" value="ecal_barr_lay12_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay12_air_rmin" value="ecal_barr_lay12_cu_rmax" />
+      <constant name="ecal_barr_lay12_air_rmax" value="ecal_barr_lay12_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 13 -->
+      <constant name="ecal_barr_lay13_rmin" value="ecal_barr_lay12_rmax" />
+      <constant name="ecal_barr_lay13_rmax" value="ecal_barr_lay13_rmin + ecal_barr_lay_thick" />
+
+      <constant name="ecal_barr_lay13_w_rmin" value="ecal_barr_lay13_rmin" />
+      <constant name="ecal_barr_lay13_w_rmax" value="ecal_barr_lay13_w_rmin + ecal_barr_w_thick" />
+
+      <constant name="ecal_barr_lay13_g10_rmin" value="ecal_barr_lay13_w_rmax" />
+      <constant name="ecal_barr_lay13_g10_rmax" value="ecal_barr_lay13_g10_rmin + ecal_barr_g10_thick" />
+
+      <constant name="ecal_barr_lay13_si_rmin" value="ecal_barr_lay13_g10_rmax" />
+      <constant name="ecal_barr_lay13_si_rmax" value="ecal_barr_lay13_si_rmin + ecal_barr_si_thick" />
+
+      <constant name="ecal_barr_lay13_cu_rmin" value="ecal_barr_lay13_si_rmax" />
+      <constant name="ecal_barr_lay13_cu_rmax" value="ecal_barr_lay13_cu_rmin + ecal_barr_cu_thick" />
+
+      <constant name="ecal_barr_lay13_air_rmin" value="ecal_barr_lay13_cu_rmax" />
+      <constant name="ecal_barr_lay13_air_rmax" value="ecal_barr_lay13_air_rmin + ecal_barr_air_thick" />
+
+      <!-- ecal barr layer 14 -->
+      <constant name="ecal_barr_lay14_rmin" value="ecal_barr_lay13_rmax" />
[truncated at 1000 lines; 13539 more skipped]

projects/lcdd/trunk/examples/old/sdjan03
SDJan03_lcdparms.xml added at 3217
--- projects/lcdd/trunk/examples/old/sdjan03/SDJan03_lcdparms.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/sdjan03/SDJan03_lcdparms.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,651 @@
+<?xml version="1.0"  ?> 
+<!-- 9 Apr 2001  first pass at SDMar01 detector definition    -->
+
+<!DOCTYPE lcdparm SYSTEM "detParms.dtd" >
+
+<!--   Following describes the standard silicon detector, version 1        -->
+
+<!--
+
+CVS $Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/sdjan03/SDJan03_lcdparms.xml,v 1.1 2005-02-04 02:20:55 jeremy Exp $
+
+detector_ID:
+type  SDJan03
+major 1
+minor 0
+end;
+
+-->
+<lcdparm>
+  <global file="SDJan03.xml" />
+  <physical_detector topology="silicon" id = "SDJan03" >
+
+    <volume id = "PIPE_INNER" rad_len_cm="0.00047" inter_len_cm="0.00040">
+      <tube>
+        <barrel_dimensions inner_r = "1.1" outer_z = "3.1"  />
+        <layering>
+          <slice material = "Be" width = "0.0165" />
+        </layering>
+      </tube>
+      <support />
+    </volume>
+
+    <volume id = "PIPE_INNER_SHIELD" rad_len_cm="0.00281" inter_len_cm="0.00036">
+      <cone reflected = "yes">
+        <cone_dimensions  min_inner_r = "1.10"
+                          max_inner_r = "2.20"
+                          inner_z = "3.1"
+                          outer_z = "6.6"  />
+        <cone_slice material = "Ti" 
+                    inner_width = "0.01" />
+      </cone>
+      <support  />
+    </volume>
+    <volume id = "PIPE_CONE" rad_len_cm="0.00284" inter_len_cm="0.00245">
+      <cone reflected = "yes">
+        <cone_dimensions  min_inner_r = "1.11"
+                          max_inner_r = "2.21"
+                          inner_z = "3.1"
+                          outer_z = "6.6"  />
+        <cone_slice material = "Be" 
+                    inner_width = "0.1" />
+      </cone>
+      <support  />
+    </volume>
+
+
+    <volume id = "PIPE_OUTER" rad_len_cm="0.00284" inter_len_cm="0.00245">
+      <disk>
+        <disk_dimensions inner_r = "2.2" inner_z = "6.6" outer_r="2.3"  />
+        <layering>
+          <slice material = "Be" width = "11.4" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id = "PIPE_SSCONE" rad_len_cm="0.00568">
+      <cone reflected = "yes">
+        <cone_dimensions  min_inner_r = "2.2"
+                          max_inner_r = "5.55"
+                          inner_z = "18.0"
+                          outer_z = "45.40909"  />
+        <cone_slice material = "Stainless_steel" 
+                    inner_width = "0.01" />
+      </cone>
+      <support  />
+    </volume>
+
+
+    <volume id = "PIPE_SSOUTER" rad_len_cm="0.00568">
+      <disk>
+        <disk_dimensions inner_r = "5.55" inner_z = "45.40909" outer_r="5.56"/>
+        <layering>
+          <slice material = "Stainless_steel" width = "139.59091" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id = "M1_CONE">
+      <cone reflected = "yes" >
+        <cone_dimensions  min_inner_r = "5.55"
+                          max_inner_r = "10.65"
+                          inner_z = "185.0"
+                          outer_z = "355.0" />
+        <cone_slice material = "W" 
+                    inner_width = "12.45" 
+                    outer_width = "7.35" />
+      </cone>
+      <support  />
+    </volume>                      <!-- end M1A_CONE -->
+
+    <volume id = "M2_DISK">
+       <disk reflected = "yes">  
+          <disk_dimensions inner_r = "10.65"
+                           outer_r = "18.0"
+                           inner_z = "355.0" />
+          <layering>
+            <slice material = "W" width = "170.0" />
+          </layering>
+       </disk>
+       <support  />
+    </volume>                    
+
+    <volume id = "LOWZ_CONE">
+      <cone reflected = "yes" >
+        <cone_dimensions min_inner_r = "9.2"
+                         max_inner_r = "9.2"
+                         inner_z = "310.0"
+                         outer_z = "320.0" />
+        <cone_slice material = "Be" 
+                    inner_width = "0.1" 
+                    outer_width = "0.4" />
+      </cone>
+      <support  />
+    </volume>
+
+    <volume id = "LUM_CONE">
+      <cone reflected = "yes" >
+        <cone_dimensions min_inner_r = "9.2"
+                         max_inner_r = "9.2"
+                         inner_z = "320.0"
+                         outer_z = "355.0" />
+        <cone_slice material = "W" 
+                    inner_width = "0.4" 
+                    outer_width = "1.45" />
+      </cone>
+      <support  />
+    </volume>
+
+    <volume id="LUM_ENDCAP" >
+
+      <disk reflected = "yes" >
+        <disk_dimensions inner_r = "0.0001" inner_z = "310.0"
+                         outer_r = "9.2" />
+        <layering n = "1">
+          <slice material = "Be" width = "10." />
+          <slice material = "W" width = "35. " sensitive = "yes" />
+        </layering>
+        <segmentation theta = "600" phi = "1200" />
+      </disk>
+      <calorimeter type = "lum" />
+    </volume>
+
+    <complex_volume id = "VERTEX_BARREL">
+      <volume id = "VERTEX_BARREL_1" rad_len_cm="0.0011" inter_len_cm="0.00022">
+        <tube>
+          <barrel_dimensions inner_r = "1.2" outer_z = "2.5" />
+          <layering>
+            <slice material = "Si" width = "0.01" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "VERTEX_BARREL_2" rad_len_cm="0.0011" inter_len_cm="0.00022">
+        <tube>
+          <barrel_dimensions inner_r = "2.4" outer_z = "12.5" />
+          <layering>
+            <slice material = "Si" width = "0.01" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "VERTEX_BARREL_3" rad_len_cm="0.0011" inter_len_cm="0.00022">
+        <tube>
+          <barrel_dimensions inner_r = "3.6" outer_z = "12.5" />
+          <layering>
+            <slice material = "Si" width = "0.01" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "VERTEX_BARREL_4" rad_len_cm="0.0011" inter_len_cm="0.00022">
+        <tube>
+          <barrel_dimensions inner_r = "4.8" outer_z = "12.5" />
+          <layering>
+            <slice material = "Si" width = "0.01" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "VERTEX_BARREL_5" rad_len_cm="0.0011" inter_len_cm="0.00022">
+        <tube>
+          <barrel_dimensions inner_r = "6.0" outer_z = "12.5" />
+          <layering>
+            <slice material = "Si" width = "0.01" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+    </complex_volume>
+
+    <volume id="VERTEX_BARREL_OUTER_WALL" rad_len_cm="0.00283" >
+      <tube>
+        <barrel_dimensions inner_r = "7.0"  outer_z = "15.0"  />
+        <layering>
+          <slice material = "Be" width = "0.1" />
+        </layering>
+      </tube>
+      <support />
+    </volume>
+
+    <volume id = "VERTEX_ENDPLATE" rad_len_cm="0.00850" inter_len_cm="0.0735">
+      <disk reflected="yes">
+        <disk_dimensions inner_r = "2.2" outer_r = "7.0" inner_z = "15.0" />
+        <layering>
+          <slice material = "Be" width = "0.3" />  
+        </layering >
+      </disk>
+      <support type = "cryo" />
+    </volume>
+
+    <volume id = "VERTEX_CRYO_BARREL" rad_len_cm="0.0044" inter_len_cm="0.003">
+      <tube>
+        <barrel_dimensions inner_r = "11.0" outer_z = "23.0" />
+        <layering>
+          <slice material = "PolystyreneFoam" width = "3.0" />  <!-- foam??? -->
+        </layering >
+      </tube>
+      <support type = "cryo" />
+    </volume>
+
+    <volume id = "VERTEX_CRYO_ENDPLATE" rad_len_cm="0.0044" inter_len_cm="0.003">
+      <disk>
+        <disk_dimensions inner_r = "2.2" outer_r = "11.0" inner_z = "20.0" />
+        <layering>
+          <slice material = "PolystyreneFoam" width = "3.0" />   <!-- foam??? -->
+        </layering >
+      </disk>
+      <support type = "cryo" />
+    </volume>
+
+
+
+    <complex_volume id = "TRACK_BARREL">
+      <volume id = "TRACK_BARREL_1" rad_len_cm="0.0052" inter_len_cm="0.0014">
+        <tube>
+          <barrel_dimensions inner_r = "20.0" outer_z = "26.67" />
+          <layering>
+            <slice material = "G10" width = "0.05" />
+            <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "TRACK_BARREL_2" rad_len_cm="0.0052" inter_len_cm="0.0014">
+        <tube>
+          <barrel_dimensions inner_r = "46.25" outer_z = "61.67" />
+          <layering>
+            <slice material = "G10" width = "0.05" />
+            <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "TRACK_BARREL_3" rad_len_cm="0.0052" inter_len_cm="0.0014">
+        <tube>
+          <barrel_dimensions inner_r = "72.5" outer_z = "96.67" />
+          <layering>
+            <slice material = "G10" width = "0.05" />
+            <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "TRACK_BARREL_4" rad_len_cm="0.0052" inter_len_cm="0.0014">
+        <tube>
+          <barrel_dimensions inner_r = "98.75" outer_z = "131.67" />
+          <layering>
+            <slice material = "G10" width = "0.05" />
+            <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+      <volume id = "TRACK_BARREL_5" rad_len_cm="0.0052" inter_len_cm="0.0014">
+        <tube>
+          <barrel_dimensions inner_r = "125.0" outer_z = "166.67" />
+          <layering>
+            <slice material = "G10" width = "0.05" />
+            <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </tube>
+        <tracker />
+      </volume >
+    </complex_volume>
+
+    <complex_volume id = "TRACK_ENDCAP">
+      <volume id = "TRACK_ENDCAP_1" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "4.0" inner_z = "27.1"
+                           outer_r = "20.50" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_2" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "4.0" inner_z = "27.12"
+                           outer_r = "20.50" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_3" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "7.9" inner_z = "62.1"
+                           outer_r = "46.75" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_4" rad_len_cm="0.0022">
+        <disk>
+          <disk_dimensions inner_r = "7.9" inner_z = "62.12"
+                           outer_r = "46.75" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_5" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "11.7" inner_z = "97.1"
+                           outer_r = "73.0" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_6" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "11.7" inner_z = "97.12"
+                           outer_r = "73.0" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_7" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "15.6" inner_z = "132.1"
+                           outer_r = "99.25" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_8" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "15.6" inner_z = "132.12"
+                           outer_r = "99.25" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_9" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "19.5" inner_z = "167.1"
+                           outer_r = "125.50" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+      <volume id = "TRACK_ENDCAP_10" rad_len_cm="0.0022" >
+        <disk>
+          <disk_dimensions inner_r = "19.5" inner_z = "167.12"
+                           outer_r = "125.50" />
+          <layering>
+	    <slice material = "Si" width = "0.02" sensitive = "yes" />
+          </layering>
+        </disk>
+        <tracker />
+      </volume> 
+    </complex_volume>
+
+    <volume id="TRACK_ENDCAP_INNER_DISK1" rad_len_cm="0.006" >
+      <disk>
+        <disk_dimensions inner_r = "4.0" inner_z = "27.14"
+                         outer_r = "20.5" />
+        <layering>
+          <slice material = "G10" width = "0.1" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="TRACK_ENDCAP_INNER_DISK2" rad_len_cm="0.006" >
+      <disk>
+        <disk_dimensions inner_r = "7.9" inner_z = "62.14"
+                         outer_r = "46.75" />
+        <layering>
+          <slice material = "G10" width = "0.1" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="TRACK_ENDCAP_INNER_DISK3" rad_len_cm="0.006" >
+      <disk>
+        <disk_dimensions inner_r = "11.7" inner_z = "97.14"
+                         outer_r = "73.0" />
+        <layering>
+          <slice material = "G10" width = "0.1" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="TRACK_ENDCAP_INNER_DISK4" rad_len_cm="0.006" >
+      <disk>
+        <disk_dimensions inner_r = "15.6" inner_z = "132.14"
+                         outer_r = "99.25" />
+        <layering>
+          <slice material = "G10" width = "0.1" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="TRACK_ENDCAP_INNER_DISK5" rad_len_cm="0.006" >
+      <disk>
+        <disk_dimensions inner_r = "19.5" inner_z = "167.14"
+                         outer_r = "125.5" />
+        <layering>
+          <slice material = "G10" width = "0.1" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="EM_BARREL" rad_len_cm="0.7911" > 
+       <tube>
+         <barrel_dimensions inner_r = "127.0" outer_z = "184.0" />
+         <layering n="30">
+           <slice material = "W" width = "0.25" />
+           <slice material = "G10" width = "0.05" />
+           <slice material = "Si" width = "0.04" sensitive = "yes" />
+           <slice material = "Cu" width = "0.1" />
+           <slice material = "Air" width = "0.06" />
+         </layering>
+         <segmentation cos_theta = "840" phi = "1680" />
+      </tube>
+      <calorimeter type = "em" />
+    </volume>
+
+    <volume id="EM_BARREL_OUTER_WALL" >
+      <tube>
+        <barrel_dimensions inner_r = "142."   outer_z = "184."  />
+        <layering>
+          <slice material = "Air" width = "2.0" />
+        </layering>
+      </tube>
+      <support />
+    </volume>
+
+
+    <volume id = "EM_ENDCAP" rad_len_cm="0.7911" >
+      <disk reflected = "yes">
+        <disk_dimensions inner_r = "20.0" inner_z = "168.0" outer_r = "125.0" />
+        <layering n="30" >
+          <slice material = "W" width = "0.25" />
+          <slice material = "G10" width = "0.05" />
+          <slice material = "Si" width = "0.04" sensitive = "yes" />
+          <slice material = "Cu" width = "0.1" />
+          <slice material = "Air" width = "0.06" />
+        </layering>
+        <segmentation theta = "840" phi = "1680" />
+      </disk>
+      <calorimeter type = "em" />
+    </volume>
+
+    <volume id="EM_ENDCAP_OUTER_DISK" >
+      <disk>
+        <disk_dimensions inner_r = "20.0" inner_z = "183.0"
+                         outer_r = "125.0" />
+        <layering>
+          <slice material = "Air" width = "1.0" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+
+    <volume id="HAD_BARREL" rad_len_cm="1.133" inter_len_cm="0.1193">
+
+       <tube>
+         <barrel_dimensions inner_r = "144.0" outer_z = "286.0" />
+         <layering n="34">
+           <slice material = "Stainless_steel" width = "2.0" />
+           <slice material = "Polystyrene" width = "1.0" sensitive = "yes" />
+         </layering>
+         <segmentation cos_theta = "600" phi = "1200" />
+      </tube>
+      <calorimeter type = "had" />
+    </volume>
+
+
+    <volume id="HAD_BARREL_ENDRING" >
+
+      <disk>
+        <disk_dimensions inner_r = "143.8" inner_z = "286.0"
+                         outer_r = "247.0" />
+        <layering>
+          <slice material = "Al" width = "0.2" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id = "HAD_ENDCAP" rad_len_cm="1.133" inter_len_cm="0.1193">
+
+      <disk reflected = "yes">
+        <disk_dimensions inner_r = "20.0" inner_z = "184.0" outer_r = "142.0" />
+        <layering n="34" >
+           <slice material = "Stainless_steel" width = "2.0" />
+           <slice material = "Polystyrene" width = "1.0" sensitive = "yes" />
+        </layering>
+        <segmentation theta = "600" phi = "1200" />
+      </disk>
+      <calorimeter type = "had" />
+    </volume>
+
+
+    <volume id="HAD_ENDCAP_INNER_TUBE" >
+      <disk>
+        <disk_dimensions inner_r = "19.8" inner_z = "184.0" 
+                         outer_r = "20.0" />
+        <layering>
+          <slice material = "Al" width = "103." />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="HAD_ENDCAP_OUTER_TUBE" >
+      <disk>
+        <disk_dimensions inner_r = "142.0" inner_z = "184.0" 
+                         outer_r = "142.2" />
+        <layering>
+          <slice material = "Al" width = "103.0" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id = "COIL" rad_len_cm="4.501" inter_len_cm="1.015">
+     <tube>
+      <barrel_dimensions inner_r = "271.0" outer_z = "281.0" />
+      <layering>
+        <slice material = "Al" width = "40.0" />
+      </layering>
+     </tube>
+      <coil inner_field = "5.0"
+            outer_field = "-0.6"
+            outer_field_radius = "500.0" />
+    </volume>
+
+    <volume id = "COIL_INNER_TUBE" rad_len_cm="0.5626" inter_len_cm="0.1269">
+      <tube>
+        <barrel_dimensions inner_r = "249.0" outer_z = "286.0" />
+        <layering>
+          <slice material = "Al" width = "5.0" />
+        </layering>
+      </tube>
+      <support />
+    </volume>
+
+    <volume id = "COIL_OUTER_TUBE" rad_len_cm="0.5626" inter_len_cm="0.1269">
+      <tube>
+        <barrel_dimensions inner_r = "329.0" outer_z = "286.0" />
+        <layering>
+          <slice material = "Al" width = "5.0" />
+        </layering>
+      </tube>
+      <support />
+    </volume>
+
+    <volume id = "COIL_OUTER_DISK" rad_len_cm="0.5626" inter_len_cm="0.1269">
+      <disk reflected = "yes" >
+        <disk_dimensions inner_r = "249.0" inner_z = "281.0"
+                           outer_r = "334.0"  />
+        <layering>
+          <slice material = "Al" width = "5.0" />
+        </layering>
+      </disk>
+      <support />
+    </volume>
+
+    <volume id="MUON_BARREL" rad_len_cm="2.84" inter_len_cm="0.298">
+
+       <tube>
+         <barrel_dimensions inner_r = "337.0" outer_z = "287.0" />
+         <layering n="32">
+           <slice material = "Fe" width = "5.0" />
+           <slice material = "Air" width = "1.5" sensitive = "yes" />
+         </layering>
+         <segmentation cos_theta = "150" phi = "300" />
+         <strip_segmentation z_width = "3.0" phi_width = "3.0" />
+      </tube>
+      <calorimeter type = "muon" />
+    </volume>
+
+    <volume id="MUON_ENDCAP" rad_len_cm="2.84" inter_len_cm="0.298">
+
+       <disk>
+         <disk_dimensions inner_r = "20.0" inner_z = "287.0"
+                          outer_r = "636.0" />
+         <layering n="32">
+           <slice material = "Fe" width = "5.0" />
+           <slice material = "Air" width = "1.5" sensitive = "yes" />
+         </layering>
+         <segmentation cos_theta = "150" phi = "300" />
+         <strip_segmentation x_width = "3.0" y_width = "3.0" />
+      </disk>
+      <calorimeter type = "muon" />
+    </volume>
+
+
+  </physical_detector>
+
+  <proc_parm>
+    <cal_smear em_energy = "0.12 0.01" had_energy = "0.50 0.02"
+               em_position = "1.0 0.0" had_position = "5.0 0.0" />
+  </proc_parm>
+
+</lcdparm>

projects/lcdd/trunk/examples/old/segtest
NPCylBarr.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/segtest/NPCylBarr.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/segtest/NPCylBarr.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="nonprojective_cylinder_barrel"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Nonprojective cylindrical barrel example.
+    </comment>
+
+  </header>
+
+
+  <iddict>
+    <idspec name="NPCylId" length="64">
+
+      <idfield label="z"
+	       start="0"
+	       length="16"
+	       signed="true" />
+
+      <idfield label="phi"
+	       start="16"
+	       length="16"
+	       signed="true" />
+
+    </idspec>
+  </iddict>
+
+  <sensitive_detectors>
+
+    <calorimeter name="CalNPCyl"
+		 hits_collection="CalNPCyl"
+		 ecut="0.25"
+		 eunit="MeV"
+		 verbose="0">
+      <idspecref ref="NPCylId" />
+      <nonprojective_cylinder grid_size_z="1.0"
+			      grid_size_phi="1.0"
+			      lunit="mm"
+			      />
+    </calorimeter>
+
+    <tracker name="Tracker"
+	     hits_collection="TrackerHitsA"
+	     ecut="0.25"
+	     eunit="MeV"
+	     verbose="4"/>
+
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+
+    <region name="TestTube2_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <constant name="TWOPI" value="2.*pi"/>
+
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <constant name="def_z" value="0.0 * mm" />
+      <constant name="layer_incr_z" value="70.0 * mm" />
+
+    </define>
+
+    <materials>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <element  name="Argon_e"  Z="18.0"  N="40" >
+	<atom type="A" unit="g/mol" value=" 39.9480" />
+      </element>
+
+      <element name="Tungsten_e" formula="W" Z="74.">
+	<atom value="183.84" />
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="Tungsten">
+	<D value="19.3" unit="g/cm3"/>
+	<composite n="1" ref="Tungsten_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box  lunit="m"
+	    aunit="degree"
+	    name="world_box"
+	    x="10.0"
+	    y="10.0"
+	    z="10.0" />
+
+      <box  lunit="cm"
+	    aunit="degree"
+	    name="layer_box"
+	    x="500.0"
+	    y="500.0"
+	    z="layer_incr_z" />
+
+      <tube name="test_tube_barr"
+	    lunit="mm"
+	    z="500.0"
+	    rmin="800"
+	    rmax="1000"
+	    deltaphi="TWOPI" />
+
+    </solids>
+
+    <structure>
+
+      <volume name="TestTube2">
+	<materialref ref="Tungsten"/>
+	<solidref ref="test_tube_barr"/>
+	<sdref ref="CalNPCyl" />
+	<regionref ref="TestTube2_Region" />
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<physvol>
+	  <volumeref ref="TestTube2" />
+	  <positionref ref="identity_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+      </volume>
+
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="testField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="0"
+	      outer_radius="2000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="testField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/segtest
NPPolyBarr.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/segtest/NPPolyBarr.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/segtest/NPPolyBarr.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,621 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+$Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/segtest/NPPolyBarr.lcdd,v 1.7 2005-05-06 21:57:25 jeremy Exp $
+
+geometry for stdhep example
+
+-->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="nonprojective_polyhedra_barrel"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Nonprojective polyhedra barrel example.
+    </comment>
+
+  </header>
+
+  <iddict>
+    <idspec name="NPPolyBarrId" length="64">
+
+      <!-- grid_xyz seg ids -->
+      <idfield label="x"
+	       start="0"
+	       length="8" />
+
+      <idfield label="y"
+	       start="8"
+	       length="8" />
+
+      <!--
+      <idfield label="z"
+	       start="16"
+	       length="8" />
+      -->
+
+    </idspec>
+  </iddict>
+
+  <sensitive_detectors>
+    <calorimeter name="CalBarrSD"
+		 hits_collection="CalBarrHits">
+      <idspecref ref="NPPolyBarrId" />
+      <grid_xyz grid_size_x="1.0"
+		grid_size_y="1.0"
+		grid_size_z="0.0"
+		lunit="cm" 
+	       />
+    </calorimeter>
+
+    <tracker name="TrackerSD"
+	     hits_collection="TrackerHits" />
+  </sensitive_detectors>  
+
+  <limits>
+  </limits>
+
+  <regions>
+
+    <region name="CalBarrRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV"
+	    />
+
+    <region name="TrackerRegion"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="cm" 
+	    threshold="1.0"
+	    eunit="MeV"
+	    />
+
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+      
+      <!-- PI -->
+      <constant name="TWOPI" value="2.*pi"/>     
+
+      <!-- ident -->
+      <position name="identity_pos" />
+      <rotation name="identity_rot" />
+
+      <!-- "user parameters" -->
+      <constant name="num_sides"        value="8" />
+      <constant name="inner_radius"     value="500.0*mm" />
+      <constant name="sect_long_dim"    value="1000.0" /> 
+
+      <!-- tracker -->
+      <position name="tracker_pos" />
+      <rotation name="tracker_rot" />
+
+      <!-- cal envelope -->
+      <position name="cal_pos" />
+      <rotation name="cal_rot" />
+
+      <!-- layers -->
+      <constant name="abs_thickness"     value="20.0*mm" />
+      <constant name="sens_thickness"    value="5.0*mm" />
+      <constant name="layer_thickness"   value="abs_thickness + sens_thickness" />
+      <constant name="num_layers"        value="3" />      
+
+      <!-- section -->
+      <constant name="sect_thickness"    value="num_layers * layer_thickness" />
+      <constant name="sect_center_radius" value="inner_radius + sect_thickness / 2" />      
+      <constant name="outer_radius" value="inner_radius + sect_thickness" />
+
+      <constant name="inner_angle"      value="(360/num_sides)" />
+      <constant name="half_inner_angle" value="inner_angle/2"/>
+
+      <constant name="outer_radius_hyp" value="outer_radius / ( cos( half_inner_angle * deg ) )" />
+
+      <constant name="inner_face"       value="( inner_radius * tan( half_inner_angle * deg ) ) * 2" />      
+      <constant name="outer_face"       value="( outer_radius * tan( half_inner_angle * deg ) ) * 2" />
+
+      <constant name="sect_rot_x"   value="90.0 * deg" />      
+      <constant name="sect_start_rot_y" value="0.0" />
+      <constant name="sect_rot" value="-sect_start_rot_y/2" />
+
+      <constant name="sect_start_place_angle" value="0.0" />
+
+      <!-- starting params -->
+      <constant name="irot" value="inner_angle * deg" />
+      <constant name="offrot" value="-irot / 2" />
+      <constant name="placerot" value="-offrot" />
+
+      <!-- sect0 -->
+      <constant name="sect0_rot_y" value="-offrot" />
+      <constant name="sect0_pos_x" value="-sect_center_radius * sin( sect0_rot_y )" />
+      <constant name="sect0_pos_y" value="sect_center_radius * cos( sect0_rot_y )" />
+
+      <position name="sect0_pos"
+		x="sect0_pos_x" 
+		y="sect0_pos_y"
+		z="0.0" />
+
+      <rotation name="sect0_rot"
+		x="sect_rot_x"
+		y="sect0_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect1 -->
+      <constant name="sect1_rot_y" value="sect0_rot_y - irot" />
+      <constant name="sect1_pos_x" value="-sect_center_radius * sin( sect1_rot_y )" />
+      <constant name="sect1_pos_y" value="sect_center_radius * cos( sect1_rot_y )" />
+
+      <position name="sect1_pos"
+		x="sect1_pos_x"
+		y="sect1_pos_y"
+		z="0.0" />
+
+      <rotation name="sect1_rot"
+		x="sect_rot_x"
+		y="sect1_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect2 -->
+      <constant name="sect2_rot_y" value="sect1_rot_y - irot" />
+      <constant name="sect2_pos_x" value="-sect_center_radius * sin( sect2_rot_y )" />
+      <constant name="sect2_pos_y" value="sect_center_radius * cos( sect2_rot_y )" />
+
+      <position name="sect2_pos"
+		x="sect2_pos_x"
+		y="sect2_pos_y"
+		z="0.0" />
+
+      <rotation name="sect2_rot"
+		x="sect_rot_x"
+		y="sect2_rot_y"
+		z="0.0" />
+
+      <!-- sect3 -->
+      <constant name="sect3_rot_y" value="sect2_rot_y - irot" />
+      <constant name="sect3_pos_x" value="-sect_center_radius * sin( sect3_rot_y )" />
+      <constant name="sect3_pos_y" value="sect_center_radius * cos( sect3_rot_y )" />
+
+      <position name="sect3_pos"
+		x="sect3_pos_x"
+		y="sect3_pos_y"
+		z="0.0" />
+
+      <rotation name="sect3_rot"
+		x="sect_rot_x"
+		y="sect3_rot_y"
+		z="0.0" />
+
+      <!-- sect4 -->
+      <constant name="sect4_rot_y" value="sect3_rot_y - irot" />
+      <constant name="sect4_pos_x" value="-sect_center_radius * sin( sect4_rot_y )" />
+      <constant name="sect4_pos_y" value="sect_center_radius * cos( sect4_rot_y )" />
+
+      <position name="sect4_pos"
+		x="sect4_pos_x"
+		y="sect4_pos_y"
+		z="0.0" />
+
+      <rotation name="sect4_rot"
+		x="sect_rot_x"
+		y="sect4_rot_y"
+		z="0.0" />
+
+      <!-- sect5 -->
+      <constant name="sect5_rot_y" value="sect4_rot_y - irot" />
+      <constant name="sect5_pos_x" value="-sect_center_radius * sin( sect5_rot_y )" />
+      <constant name="sect5_pos_y" value="sect_center_radius * cos( sect5_rot_y )" />
+
+      <position name="sect5_pos"
+		x="sect5_pos_x"
+		y="sect5_pos_y"
+		z="0.0" />
+
+      <rotation name="sect5_rot"
+		x="sect_rot_x"
+		y="sect5_rot_y"
+		z="0.0" />
+
+      <!-- sect6 -->
+      <constant name="sect6_rot_y" value="sect5_rot_y - irot" />
+      <constant name="sect6_pos_x" value="-sect_center_radius * sin( sect6_rot_y )" />
+      <constant name="sect6_pos_y" value="sect_center_radius * cos( sect6_rot_y )" />
+
+      <position name="sect6_pos"
+		x="sect6_pos_x"
+		y="sect6_pos_y"
+		z="0.0" />
+
+      <rotation name="sect6_rot"
+		x="sect_rot_x"
+		y="sect6_rot_y"
+		z="0.0" />
+
+      <!-- sect7 -->
+      <constant name="sect7_rot_y" value="sect6_rot_y - irot" />
+      <constant name="sect7_pos_x" value="-sect_center_radius * sin( sect7_rot_y )" />
+      <constant name="sect7_pos_y" value="sect_center_radius * cos( sect7_rot_y )" />
+
+      <position name="sect7_pos"
+		x="sect7_pos_x"
+		y="sect7_pos_y"
+		z="0.0" />
+
+      <rotation name="sect7_rot"
+		x="sect_rot_x"
+		y="sect7_rot_y"
+		z="0.0" />
+
+      <!-- angle subtended by inner_face and outside section radius -->
+      <constant name="layer_outer_angle" value="(180 - inner_angle) / 2" />
+
+      <!-- angle subtended by Z side of the layer box and sect side along layer -->
+      <constant name="layer_inner_angle" value="(180 - 90 - layer_outer_angle) * deg" /> 
+
+      <!-- incr layer in x dim -->
+      <constant name="sens_incr_x" value="sens_thickness * tan( layer_inner_angle ) * 2" />
+      <constant name="abs_incr_x"  value="abs_thickness * tan ( layer_inner_angle ) * 2" />
+      <constant name="layer_incr_z" value="sens_thickness / 2 + abs_thickness / 2" />
+
+      <!-- sensitive 0 -->
+      <constant name="sens0_z"          value="-( sect_thickness/2 ) + sens_thickness/2"/>
+      <position name="sens0_pos"        z="sens0_z" />
+      <constant name="sens0_dim_x"      value="inner_face" />
+
+      <!-- absorber 0 -->
+      <constant name="abs0_z"           value="sens0_z + layer_incr_z"/>
+      <position name="abs0_pos"         z="abs0_z" />      
+      <constant name="abs0_dim_x"       value="inner_face + sens_incr_x" />
+
+      <!-- sensitive 1 -->
+      <constant name="sens1_z"          value="abs0_z + layer_incr_z" />
+      <position name="sens1_pos"        z="sens1_z" />
+      <constant name="sens1_dim_x"      value="abs0_dim_x + abs_incr_x" />
+
+      <!-- absorber 1 -->
+      <constant name="abs1_z"           value="sens1_z + layer_incr_z" />
+      <position name="abs1_pos"         z="abs1_z" />
+      <constant name="abs1_dim_x"       value="sens1_dim_x + sens_incr_x" />      
+
+      <!-- sensitive 2 -->
+      <constant name="sens2_z"          value="abs1_z + layer_incr_z" />
+      <position name="sens2_pos"        z="sens2_z" />
+      <constant name="sens2_dim_x"      value="abs1_dim_x + abs_incr_x" />
+
+      <!-- absorber 2 -->
+      <constant name="abs2_z"           value="sens2_z + layer_incr_z" />
+      <position name="abs2_pos"         z="abs2_z" />
+      <constant name="abs2_dim_x"       value="sens2_dim_x + sens_incr_x" />
+
+      <!-- world -->
+      <constant name="world_side"       value="7000.0" />
+    </define>
+
+    <materials>
+
+      <element  name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value=" 39.9480" />
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" formula="Fe" Z="26.">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0" N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0" N="16" >
+	<atom type="A" unit="g/mol" value="16.0" />
+      </element>
+
+      <element name="Silicon_e" formula="Si" Z="14.0" N="28" >
+	<atom type="A" unit="g/mol" value="28.09" />
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012" />
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="StainlessSteel">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+      <material name="Silicon" >
+	<D value="8.72" unit="g/cm3" />
+	<fraction n="1.0" ref="Silicon_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box name="world_box"
+	   x="world_side"
+	   y="world_side"
+	   z="world_side" 
+	   />
+
+      <tube name="tracker_tube" 
+	    z="sect_long_dim" 
+	    rmax="inner_radius" 
+	    rmin="0.0"
+	    deltaphi="TWOPI"/>
+
+      <tube name="cal_tube"
+	    z="sect_long_dim"
+	    rmax="outer_radius_hyp"
+	    rmin="inner_radius"
+	    deltaphi="TWOPI"
+	    />
+
+      <trd name="sect_trd" 
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sect_long_dim"
+	   y2="sect_long_dim"
+	   z="sect_thickness"
+	   />
+
+      <box name="sens0_box"
+	   x="sens0_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs0_box"
+	   x="abs0_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <box name="sens1_box"
+	   x="sens1_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs1_box"
+	   x="abs1_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+      <box name="sens2_box"
+	   x="sens2_dim_x"
+	   y="sect_long_dim"
+	   z="sens_thickness"
+	   />
+
+      <box name="abs2_box"
+	   x="abs2_dim_x"
+	   y="sect_long_dim"
+	   z="abs_thickness"
+	   />
+
+    </solids>
+
+    <structure>
+
+      <!-- tracker -->
+      <volume name="tracker">
+	<materialref ref="Air" />
+	<solidref ref="tracker_tube" />
+	<sdref ref="TrackerSD" />
+	<regionref ref="TrackerRegion" />
+      </volume>
+
+      <!-- individual layers -->
+      <volume name="sens0">
+	<materialref ref="Polystyrene" />
+	<solidref ref="sens0_box" />
+	<sdref ref="CalBarrSD" />
+      </volume>	  		     
+
+      <volume name="abs0">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="abs0_box" />
+      </volume>
+
+      <volume name="sens1">
+	<materialref ref="Polystyrene" />
+	<solidref ref="sens1_box" />
+	<sdref ref="CalBarrSD" /> 
+      </volume>
+
+      <volume name="abs1">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="abs1_box" />
+      </volume>
+
+      <volume name="sens2">
+	<materialref ref="Polystyrene" />
+	<solidref ref="sens2_box" />
+	<sdref ref="CalBarrSD" />
+      </volume>
+
+      <volume name="abs2">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="abs2_box" />
+      </volume>	
+
+      <!-- cal section -->
+      <volume name="sect">
+	<materialref ref="Air" />
+	<solidref ref="sect_trd" />
+
+	<physvol>
+	  <volumeref ref="sens0" />
+	  <positionref ref="sens0_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="abs0" />
+	  <positionref ref="abs0_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sens1" />
+	  <positionref ref="sens1_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="abs1" />
+	  <positionref ref="abs1_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sens2" />
+	  <positionref ref="sens2_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="abs2" />
+	  <positionref ref="abs2_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+      </volume>
+
+      <!-- cal barrel envelope -->
+      <volume name="cal">
+	<materialref ref="Air"/>
+	<solidref ref="cal_tube"/>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect0_pos" />
+	  <rotationref ref="sect0_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect1_pos" />
+	  <rotationref ref="sect1_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect2_pos" />
+	  <rotationref ref="sect2_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect3_pos" />
+	  <rotationref ref="sect3_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect4_pos" />
+	  <rotationref ref="sect4_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect5_pos" />
+	  <rotationref ref="sect5_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect6_pos" />
+	  <rotationref ref="sect6_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect7_pos" />
+	  <rotationref ref="sect7_rot" />
+	</physvol>
+
+	<regionref ref="CalBarrRegion" />
+      </volume>
+      
+      <!-- world with placed sections -->
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>	  
+
+	<physvol>
+	  <volumeref ref="tracker" />
+	  <positionref ref="tracker_pos" />
+	  <rotationref ref="tracker_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="cal" />
+	  <positionref ref="cal_pos" />
+	  <rotationref ref="cal_rot" />
+	</physvol>
+
+      </volume>
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="theField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="500"
+	      outer_radius="1000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="theField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/segtest
NPPolyEcap.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/segtest/NPPolyEcap.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/segtest/NPPolyEcap.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,498 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+$Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/segtest/NPPolyEcap.lcdd,v 1.5 2005-03-25 02:43:33 jeremy Exp $
+
+Octagonal calorimeter endcap compose of trapezoid sections.
+
+This geometry has 3 layers in the cal,
+and each layer is composed of an absorber
+and active sublayer.
+
+-->
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="nonprojective_polyhedra_endcap"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Nonprojective polyhedra endcap test.
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+    <calorimeter name="CalEcapSD"
+		 hits_collection="CalEcapHits">
+      <grid_xyz grid_size_x="1.0"
+		grid_size_y="0.0"
+		grid_size_z="1.0" />
+    </calorimeter>
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+    <region name="CalEcapRegion"
+	    storeSecondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    />
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- ident -->
+      <position name="identity_pos" />
+      <rotation name="identity_rot" />
+
+      <!-- "user parameters" -->
+      <constant name="num_sides"        value="8" />
+      <constant name="inner_radius"     value="500.0*mm" />
+      <constant name="sect_trans_dim"   value="500.0*mm" />
+
+      <!-- layers -->
+      <constant name="abs_thickness"     value="20.0*mm" />
+      <constant name="sens_thickness"    value="5.0*mm" />
+      <constant name="layer_thickness"   value="abs_thickness + sens_thickness" />
+      <constant name="num_layers"        value="3" />      
+
+      <!-- section -->
+      <constant name="outer_radius"      value="inner_radius + sect_trans_dim" />
+
+      <constant name="sect_thickness"    value="num_layers * layer_thickness" />
+      <constant name="sect_long_dim"    value="sect_thickness" />       
+
+      <constant name="sect_center_radius" value="inner_radius + sect_trans_dim / 2" />      
+
+      <constant name="inner_angle"      value="(360/num_sides)" />
+      <constant name="half_inner_angle" value="inner_angle/2"/>
+
+      <constant name="inner_face"       value="( inner_radius * tan( half_inner_angle * deg ) ) * 2" />      
+      <constant name="outer_face"       value="( outer_radius * tan( half_inner_angle * deg ) ) * 2" />
+
+      <constant name="sect_rot_x"   value="90.0 * deg" />      
+      <constant name="sect_start_rot_y" value="0.0" />
+      <constant name="sect_rot" value="-sect_start_rot_y/2" />
+
+      <constant name="sect_start_place_angle" value="0.0" />
+
+      <!-- starting params -->
+      <constant name="irot" value="inner_angle * deg" />
+      <constant name="offrot" value="-irot / 2" />
+      <constant name="placerot" value="-offrot" />
+
+      <!-- sect0 -->
+      <constant name="sect0_rot_y" value="-offrot" />
+      <constant name="sect0_pos_x" value="-sect_center_radius * sin( sect0_rot_y )" />
+      <constant name="sect0_pos_y" value="sect_center_radius * cos( sect0_rot_y )" />
+
+      <position name="sect0_pos"
+		x="sect0_pos_x" 
+		y="sect0_pos_y"
+		z="0.0" />
+
+      <rotation name="sect0_rot"
+		x="sect_rot_x"
+		y="sect0_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect1 -->
+      <constant name="sect1_rot_y" value="sect0_rot_y - irot" />
+      <constant name="sect1_pos_x" value="-sect_center_radius * sin( sect1_rot_y )" />
+      <constant name="sect1_pos_y" value="sect_center_radius * cos( sect1_rot_y )" />
+
+      <position name="sect1_pos"
+		x="sect1_pos_x"
+		y="sect1_pos_y"
+		z="0.0" />
+
+      <rotation name="sect1_rot"
+		x="sect_rot_x"
+		y="sect1_rot_y"
+		z="0.0"
+		/>
+
+      <!-- sect2 -->
+      <constant name="sect2_rot_y" value="sect1_rot_y - irot" />
+      <constant name="sect2_pos_x" value="-sect_center_radius * sin( sect2_rot_y )" />
+      <constant name="sect2_pos_y" value="sect_center_radius * cos( sect2_rot_y )" />
+
+      <position name="sect2_pos"
+		x="sect2_pos_x"
+		y="sect2_pos_y"
+		z="0.0" />
+
+      <rotation name="sect2_rot"
+		x="sect_rot_x"
+		y="sect2_rot_y"
+		z="0.0" />
+
+      <!-- sect3 -->
+      <constant name="sect3_rot_y" value="sect2_rot_y - irot" />
+      <constant name="sect3_pos_x" value="-sect_center_radius * sin( sect3_rot_y )" />
+      <constant name="sect3_pos_y" value="sect_center_radius * cos( sect3_rot_y )" />
+
+      <position name="sect3_pos"
+		x="sect3_pos_x"
+		y="sect3_pos_y"
+		z="0.0" />
+
+      <rotation name="sect3_rot"
+		x="sect_rot_x"
+		y="sect3_rot_y"
+		z="0.0" />
+
+      <!-- sect4 -->
+      <constant name="sect4_rot_y" value="sect3_rot_y - irot" />
+      <constant name="sect4_pos_x" value="-sect_center_radius * sin( sect4_rot_y )" />
+      <constant name="sect4_pos_y" value="sect_center_radius * cos( sect4_rot_y )" />
+
+      <position name="sect4_pos"
+		x="sect4_pos_x"
+		y="sect4_pos_y"
+		z="0.0" />
+
+      <rotation name="sect4_rot"
+		x="sect_rot_x"
+		y="sect4_rot_y"
+		z="0.0" />
+
+      <!-- sect5 -->
+      <constant name="sect5_rot_y" value="sect4_rot_y - irot" />
+      <constant name="sect5_pos_x" value="-sect_center_radius * sin( sect5_rot_y )" />
+      <constant name="sect5_pos_y" value="sect_center_radius * cos( sect5_rot_y )" />
+
+      <position name="sect5_pos"
+		x="sect5_pos_x"
+		y="sect5_pos_y"
+		z="0.0" />
+
+      <rotation name="sect5_rot"
+		x="sect_rot_x"
+		y="sect5_rot_y"
+		z="0.0" />
+
+      <!-- sect6 -->
+      <constant name="sect6_rot_y" value="sect5_rot_y - irot" />
+      <constant name="sect6_pos_x" value="-sect_center_radius * sin( sect6_rot_y )" />
+      <constant name="sect6_pos_y" value="sect_center_radius * cos( sect6_rot_y )" />
+
+      <position name="sect6_pos"
+		x="sect6_pos_x"
+		y="sect6_pos_y"
+		z="0.0" />
+
+      <rotation name="sect6_rot"
+		x="sect_rot_x"
+		y="sect6_rot_y"
+		z="0.0" />
+
+      <!-- sect7 -->
+      <constant name="sect7_rot_y" value="sect6_rot_y - irot" />
+      <constant name="sect7_pos_x" value="-sect_center_radius * sin( sect7_rot_y )" />
+      <constant name="sect7_pos_y" value="sect_center_radius * cos( sect7_rot_y )" />
+
+      <position name="sect7_pos"
+		x="sect7_pos_x"
+		y="sect7_pos_y"
+		z="0.0" />
+
+      <rotation name="sect7_rot"
+		x="sect_rot_x"
+		y="sect7_rot_y"
+		z="0.0" />
+
+      <!-- angle subtended by inner_face and outside section radius -->
+      <constant name="layer_outer_angle" value="(180 - inner_angle) / 2" />
+
+      <!-- angle subtended by Z side of the layer box and sect side along layer -->
+      <constant name="layer_inner_angle" value="(180 - 90 - layer_outer_angle) * deg" /> 
+
+      <constant name="layer_incr_y" value="layer_thickness" />
+
+      <!-- positions in layer -->
+      <constant name="sens_y" value="-layer_thickness/2 + sens_thickness/2" />
+      <constant name="abs_y" value="sens_y + sens_thickness/2 + abs_thickness/2" />
+
+      <position name="sens_pos" y="sens_y" />
+      <position name="abs_pos"  y="abs_y" />
+
+      <!-- layer 0 -->
+      <constant name="layer0_y"          value="-( sect_thickness/2 ) + layer_thickness/2"/>
+      <position name="layer0_pos"        y="layer0_y" />
+
+      <!-- layer 1 -->
+      <constant name="layer1_y"          value="layer0_y + layer_incr_y" />
+      <position name="layer1_pos"        y="layer1_y" />
+
+      <!-- layer 2 -->
+      <constant name="layer2_y"          value="layer1_y + layer_incr_y" />
+      <position name="layer2_pos"        y="layer2_y" />
+
+      <!-- world -->
+      <constant name="world_side" value="5000.0 * mm" />
+    </define>
+
+    <materials>
+
+      <element  name="Argon_e"  
+		Z="18.0"  
+		N="40" >
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 39.9480" />
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" 
+	       formula="Fe" 
+	       Z="26.0">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e"  
+		Z="7.0"  
+		N=" 14">
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 14.01" />
+      </element>
+
+      <element  name="Oxygen_e" 
+		Z="8.0" 
+		N="16">
+	<atom type="A" 
+	      unit="g/mol" 
+	      value=" 16.0"/>
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" 
+	   unit="g/cm3" 
+	   value="0.0012"/>
+	<fraction n="0.7803" ref="Nitrogen_e"/>
+	<fraction n="0.2103" ref="Oxygen_e"/>
+	<fraction n="0.0094" ref="Argon_e"/>
+      </material>
+
+      <material name="StainlessSteel">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box  lunit="mm"
+	    name="world_box"
+	    x="world_side"  
+	    y="world_side"  
+	    z="world_side" />
+
+      <trd name="sect_trd" 
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sect_long_dim"
+	   y2="sect_long_dim"
+	   z="sect_trans_dim"
+	   />
+
+      <trd name="sens_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="sens_thickness"
+	   y2="sens_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+      <trd name="abs_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="abs_thickness"
+	   y2="abs_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+      <trd name="layer_trd"
+	   x1="inner_face"
+	   x2="outer_face"
+	   y1="layer_thickness"
+	   y2="layer_thickness"
+	   z="sect_trans_dim" 
+	   />
+
+    </solids>
+
+    <structure>
+
+      <!-- sublayers -->
+      <volume name="sens">
+	<materialref ref="Polystyrene" />
+	<solidref ref="sens_trd" />
+	<sdref ref="CalEcapSD" />
+      </volume>
+
+      <volume name="abs">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="abs_trd" />
+      </volume>
+      
+      <!-- layer volume -->
+      <volume name="layer">
+	<materialref ref="StainlessSteel" />
+	<solidref ref="layer_trd" />
+
+	<physvol>
+	  <volumeref ref="sens"/>
+	  <positionref ref="sens_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="abs"/>
+	  <positionref ref="abs_pos" />
+	</physvol>
+
+      </volume>
+
+      <!-- cal section -->
+      <volume name="sect">
+	<materialref ref="Air" />
+	<solidref ref="sect_trd" />
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer0_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer1_pos" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer"/>
+	  <positionref ref="layer2_pos" />
+	</physvol>
+
+	<regionref ref="CalEcapRegion" />
+
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect0_pos" />
+	  <rotationref ref="sect0_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect1_pos" />
+	  <rotationref ref="sect1_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect2_pos" />
+	  <rotationref ref="sect2_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect3_pos" />
+	  <rotationref ref="sect3_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect4_pos" />
+	  <rotationref ref="sect4_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect5_pos" />
+	  <rotationref ref="sect5_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect6_pos" />
+	  <rotationref ref="sect6_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="sect" />
+	  <positionref ref="sect7_pos" />
+	  <rotationref ref="sect7_rot" />
+	</physvol>
+
+      </volume>
+
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="theField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="0"
+	      outer_radius="2000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="theField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/segtest
PrjBarr.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/segtest/PrjBarr.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/segtest/PrjBarr.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+$Header: /nfs/slac/g/lcd/cvs/lcdroot/slic/examples/segtest/PrjBarr.lcdd,v 1.6 2005-03-25 02:43:33 jeremy Exp $
+
+geometry for stdhep example
+
+-->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="projective_barrel"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Projective barrel test.
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+    <calorimeter name="CalBarrSD"
+		 hits_collection="CalBarrHits">
+      <projective_cylinder ntheta="360"
+			   nphi="360" />
+    </calorimeter>
+
+    <tracker name="TrackerSD"
+	     hits_collection="TrackerHits" />
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+
+    <region name="CalBarrRegion"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV"
+	    />
+
+    <region name="TrackerRegion"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="cm" 
+	    threshold="1.0"
+	    eunit="MeV"
+	    />
+
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+      
+      <!-- PI -->
+      <constant name="TWOPI" value="2.*pi"/>     
+
+      <!-- ident -->
+      <position name="identity_pos" />
+      <rotation name="identity_rot" />
+
+      <!-- cal -->
+      <constant name="sect_long_dim"    value="1000.0" /> 
+      <constant name="cal_barr_inner_radius"     value="500.0*mm" />
+
+      <position name="cal_pos" />
+      <rotation name="cal_rot" />
+
+      <constant name="nlayers" value="3" />     
+      <constant name="layer_thickness" value="20.0 * mm" />
+      <constant name="total_thickness" value="nlayers * layer_thickness" />
+
+      <constant name="cal_barr_outer_radius" value="cal_barr_inner_radius + total_thickness" />
+
+      <constant name="layer0_irad" value="cal_barr_inner_radius" />
+      <constant name="layer1_irad" value="layer0_irad + layer_thickness" />
+      <constant name="layer2_irad" value="layer1_irad + layer_thickness" />
+
+      <!-- tracker -->
+      <position name="tracker_pos" />
+      <rotation name="tracker_rot" />
+
+      <!-- world -->
+      <constant name="world_side"       value="7000.0" />
+    </define>
+
+    <materials>
+
+      <element  name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value=" 39.9480" />
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" formula="Fe" Z="26.">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0" N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0" N="16" >
+	<atom type="A" unit="g/mol" value="16.0" />
+      </element>
+
+      <element name="Silicon_e" formula="Si" Z="14.0" N="28" >
+	<atom type="A" unit="g/mol" value="28.09" />
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012" />
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="StainlessSteel">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+      <material name="Silicon" >
+	<D value="8.72" unit="g/cm3" />
+	<fraction n="1.0" ref="Silicon_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box name="world_box"
+	   x="world_side"
+	   y="world_side"
+	   z="world_side" 
+	   />
+
+      <tube name="tracker_tube" 
+	    z="sect_long_dim" 
+	    rmax="cal_barr_inner_radius" 
+	    rmin="0.0"
+	    deltaphi="TWOPI"/>
+
+      <tube name="cal_tube"
+	    z="sect_long_dim"
+	    rmax="cal_barr_outer_radius"
+	    rmin="cal_barr_inner_radius"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="layer0_tube"
+	    z="sect_long_dim"
+	    rmin="layer0_irad"
+	    rmax="layer0_irad + layer_thickness"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="layer1_tube"
+	    z="sect_long_dim"
+	    rmin="layer1_irad"
+	    rmax="layer1_irad + layer_thickness"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="layer2_tube"
+	    z="sect_long_dim"
+	    rmin="layer2_irad"
+	    rmax="layer2_irad + layer_thickness"
+	    deltaphi="TWOPI"
+	    />
+
+    </solids>
+
+    <structure>
+
+      <!-- tracker -->
+      <volume name="tracker">
+	<materialref ref="Air" />
+	<solidref ref="tracker_tube" />
+	<sdref ref="TrackerSD" />
+	<regionref ref="TrackerRegion" />
+      </volume>
+
+      <volume name="layer0">
+	<materialref ref="Air" />
+	<solidref ref="layer0_tube" />
+	<sdref ref="CalBarrSD" />
+      </volume>
+
+      <volume name="layer1">
+	<materialref ref="Air" />
+	<solidref ref="layer1_tube" />
+	<sdref ref="CalBarrSD" />
+      </volume>
+
+      <volume name="layer2">
+	<materialref ref="Air" />
+	<solidref ref="layer2_tube" />
+	<sdref ref="CalBarrSD" />
+      </volume>
+
+      <!-- cal barrel envelope -->
+      <volume name="cal">
+
+	<materialref ref="Air"/>
+	<solidref ref="cal_tube"/>
+
+	<physvol>
+	  <volumeref ref="layer0" />
+	  <positionref ref="identity_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer1" />
+	  <positionref ref="identity_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="layer2" />
+	  <positionref ref="identity_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<regionref ref="CalBarrRegion" />
+
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>	  
+
+	<physvol>
+	  <volumeref ref="tracker" />
+	  <positionref ref="tracker_pos" />
+	  <rotationref ref="tracker_rot" />
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="cal" />
+	  <positionref ref="cal_pos" />
+	  <rotationref ref="cal_rot" />
+	</physvol>
+
+      </volume>
+
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="theField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="500"
+	      outer_radius="1000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="theField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/segtest
PrjEcap.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/segtest/PrjEcap.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/segtest/PrjEcap.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="projective_endcap"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Projective endcap test.
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+
+    <calorimeter name="CalPrjZ"
+		 hits_collection="CalHitsC"
+		 ecut="0.25"
+		 eunit="MeV"
+		 verbose="4">
+      <projective_zplane ntheta="360" nphi="360" />
+    </calorimeter>
+
+    <tracker name="Tracker"
+	     hits_collection="TrackerHitsA" 
+	     ecut="0.25"
+	     eunit="MeV"
+	     verbose="4"/>
+
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+
+    <region name="TestBox0_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+    <region name="TestBox1_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+    <region name="TestTube0_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+    <region name="TestTube1_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+    <region name="TestTube2_Region"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm" />
+
+  </regions>
+
+  <display>
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <constant name="TWOPI" value="2.*pi"/>     
+
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <constant name="def_z" value="0.0 * mm" />
+      <constant name="layer_incr_z" value="70.0 * mm" />
+
+      <constant name="TestTube1_z" value="def_z + 1000.0" />
+
+      <position name="TestTube1_pos" z="TestTube1_z" />
+
+    </define>
+
+    <materials>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <element  name="Argon_e"  Z="18.0"  N="40" >
+	<atom type="A" unit="g/mol" value=" 39.9480" />
+      </element>
+
+      <element name="Tungsten_e" formula="W" Z="74.">
+	<atom value="183.84" />
+      </element>
+
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="Tungsten">
+	<D value="19.3" unit="g/cm3"/>
+	<composite n="1" ref="Tungsten_e" />
+      </material>
+
+    </materials>
+
+    <solids>
+      <box  lunit="m" 
+	    aunit="degree"
+	    name="world_box"
+	    x="10.0"  
+	    y="10.0"  
+	    z="10.0" />
+
+      <box  lunit="cm" 
+	    aunit="degree"
+	    name="layer_box"
+	    x="500.0"  
+	    y="500.0"  
+	    z="layer_incr_z" />
+
+      <tube name="test_tube" 
+	    lunit="mm"
+	    z="50.0"
+	    rmin="800"
+	    rmax="1000"
+	    deltaphi="TWOPI" />
+
+      <tube name="test_tube_barr" 
+	    lunit="mm"
+	    z="150.0"
+	    rmin="800"
+	    rmax="1000"
+	    deltaphi="TWOPI" />
+
+    </solids>
+
+    <structure>
+
+      <volume name="TestTube1">
+	<materialref ref="Tungsten"/>
+	<solidref ref="test_tube"/>
+	<sdref ref="CalPrjZ" />
+	<regionref ref="TestTube1_Region" />
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<physvol>
+	  <volumeref ref="TestTube1" />
+	  <positionref ref="TestTube1_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+      </volume>
+
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <fields>
+    <solenoid name="testField"
+	      inner_field="5.0"
+	      outer_field="0.0"
+	      zmin="0"
+	      zmax="1000"
+	      inner_radius="0"
+	      outer_radius="2000"
+	      funit="tesla"
+	      lunit="mm"
+	      />
+    <global_field>
+      <fieldref ref="testField" />
+    </global_field>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/sid
SiDEnvelope.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/sid/SiDEnvelope.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/sid/SiDEnvelope.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,892 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="SiDEnvelope"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="ManualConversion"
+	       version="1.0"
+	       file="LCDetectors/sdfeb05/sdfeb05_compact.xml"
+	       checksum="0" />
+
+    <comment>
+      SiD detector envelopes with corners based on Norman's compact description of SDFeb05.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>  
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="WorldVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="VtxVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.25"
+	     G="0.4"
+	     B="0.25"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="TrkVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.5"
+	     G="0.5"
+	     B="0.25"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="EcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.0"
+	     G="0.5"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="HcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.25"
+	     G="0.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="CoilVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.75"
+	     G="0.5"
+	     B="0.75"
+	     alpha="1.0"
+	     />
+
+    </vis>
+
+    <vis name="MuonVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="0.5"
+	     G="0.25"
+	     B="0.5"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskLowzVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="0.5"
+	     B="0.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskLumCalVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="0.0"
+	     B="0.5"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="InstMaskVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="0.5"
+	     B="0.5"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MaskVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="solid">
+      <color R="1.0"
+	     G="0.75"
+	     B="0.5"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>     
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+      <constant name="octagon_nsides" value="8" />
+
+      <rotation name="octagon_rot" z="45.0 / 2" unit="degree" />
+
+      <!-- world -->
+      <constant name="world_side" value="20000" />
+      <constant name="world_x" value="world_side" />
+      <constant name="world_y" value="world_side" />
+      <constant name="world_z" value="world_side" />
+
+      <rotation name="south_rot" x="0.0" y="0.0" z="180.0" unit="degree" />
+
+      <constant name="crossing_angle" value="0.573" />
+
+      <constant name="mask_lum_cal_z" value="35.0" />
+      <constant name="mask_lum_cal_rmax" value="19.0" />
+
+      <constant name="beam_z" value="500.0" />
+
+      <constant name="beam_incoming_z" value="beam_z" />
+      <constant name="beam_incoming_rmax" value="1.0" />
+
+      <constant name="beam_outgoing_z" value="beam_z" />
+      <constant name="beam_outgoing_rmax" value="1.2" />
+
+      <constant name="beam_pos_in_mask_x" value="3.325" />
+      <constant name="beam_pos_in_mask_lowz_x" value="3.10" />
+
+      <constant name="mask_inst_zplane1_rmin" value="8.14" />
+      <constant name="mask_inst_zplane1_rmax" value="19.0" />
+
+      <constant name="mask_inst_zplane2_rmin" value="8.92" />
+      <constant name="mask_inst_zplane2_rmax" value="19.0" />
+
+      <constant name="mask_zplane1_rmin" value="8.92" />
+      <constant name="mask_zplane1_rmax" value="19.0" />
+
+      <constant name="mask_zplane2_rmin" value="13.85" />
+      <constant name="mask_zplane2_rmax" value="19.0" />
+
+      <constant name="mask_lowz_rmax" value="7.87" />
+      <constant name="mask_lowz_z" value="10.0" />
+
+      <constant name="ecal_endcap_face_z" value="168.0" />
+      <constant name="ecal_endcap_thick" value="16.0" />
+
+      <constant name="hcal_endcap_face_z" value="184.0" />
+      <constant name="hcal_endcap_thick"  value="102.0" />
+      <constant name="hcal_endcap_outer_z" value="286.0" />
+
+      <constant name="lumcal_pos_z" value="332.5" />
+      <position name="lumcal_north_pos" x="0.0"  y="0.0" z="lumcal_pos_z" unit="cm" />
+      <position name="lumcal_south_pos" x="0.0"  y="0.0" z="-lumcal_pos_z" unit="cm" />
+
+      <constant name="mask_lowz_pos_z" value="310.0" />
+      <position name="mask_lowz_north_pos" x="0.0"  y="0.0"  z="mask_lowz_pos_z"   unit="cm" />
+      <position name="mask_lowz_south_pos" x="0.0"  y="0.0"  z="-mask_lowz_pos_z"   unit="cm" />
+
+      <constant name="mask_inst_pos_z" value="ecal_endcap_face_z + ecal_endcap_thick / 2" />
+      <position name="mask_inst_north_pos" x="0.0"  y="0.0"  z="mask_inst_pos_z" unit="cm" />
+      <position name="mask_inst_south_pos" x="0.0"  y="0.0"  z="-mask_inst_pos_z" unit="cm" />
+
+      <constant name="mask_pos_z" value="hcal_endcap_face_z + hcal_endcap_thick / 2" />
+      <position name="mask_north_pos" x="0.0" y="0.0" z="mask_pos_z" unit="cm" />
+      <position name="mask_south_pos" x="0.0" y="0.0" z="-mask_pos_z" unit="cm" />
+
+      <!-- vtx -->
+      <constant name="vtx_layer_thickness" value="0.1" />
+      
+      <!-- vtx barrel -->
+      <constant name="vtx_barrel_half_zlen" value="62.5" />
+      <constant name="vtx_barrel_zlen" value="vtx_barrel_half_zlen * 2" />
+
+      <constant name="vtx_barrel_layer0_rmin" value="15.0" />
+      <constant name="vtx_barrel_layer0_rmax" value="vtx_barrel_layer0_rmin + vtx_layer_thickness" />
+      <constant name="vtx_barrel_layer0_zlen" value="vtx_barrel_zlen" />
+
+      <constant name="vtx_barrel_layer1_rmin" value="26.0" />
+      <constant name="vtx_barrel_layer1_rmax" value="vtx_barrel_layer1_rmin + vtx_layer_thickness" />
+      <constant name="vtx_barrel_layer1_zlen" value="vtx_barrel_zlen" />
+
+      <constant name="vtx_barrel_layer2_rmin" value="37.0" />
+      <constant name="vtx_barrel_layer2_rmax" value="vtx_barrel_layer2_rmin + vtx_layer_thickness" />
+      <constant name="vtx_barrel_layer2_zlen" value="vtx_barrel_zlen" />
+
+      <constant name="vtx_barrel_layer3_rmin" value="48.0" />
+      <constant name="vtx_barrel_layer3_rmax" value="vtx_barrel_layer3_rmin + vtx_layer_thickness" />
+      <constant name="vtx_barrel_layer3_zlen" value="vtx_barrel_zlen" />
+
+      <constant name="vtx_barrel_layer4_rmin" value="60.0" />
+      <constant name="vtx_barrel_layer4_rmax" value="vtx_barrel_layer4_rmin + vtx_layer_thickness" />
+      <constant name="vtx_barrel_layer4_zlen" value="vtx_barrel_zlen" />
+
+      <!-- trk -->
+      <constant name="trk_layer_thickness" value="13.8" />
+
+      <!-- trk barrel -->
+      <constant name="trk_barrel_layer0_rmin" value="186.35" />
+      <constant name="trk_barrel_layer0_rmax" value="trk_barrel_layer0_rmin + trk_layer_thickness" />
+      <constant name="trk_barrel_layer0_half_zlen" value="266.7" />
+      <constant name="trk_barrel_layer0_zlen" value="trk_barrel_layer0_half_zlen * 2" />
+
+      <constant name="trk_barrel_layer1_rmin" value="448.85" />
+      <constant name="trk_barrel_layer1_rmax" value="trk_barrel_layer1_rmin + trk_layer_thickness" />
+      <constant name="trk_barrel_layer1_half_zlen" value="616.7" />
+      <constant name="trk_barrel_layer1_zlen" value="trk_barrel_layer1_half_zlen * 2" />
+
+      <constant name="trk_barrel_layer2_rmin" value="711.35" />
+      <constant name="trk_barrel_layer2_rmax" value="trk_barrel_layer2_rmin + trk_layer_thickness" />
+      <constant name="trk_barrel_layer2_half_zlen" value="966.7" />
+      <constant name="trk_barrel_layer2_zlen" value="trk_barrel_layer2_half_zlen * 2" />
+
+      <constant name="trk_barrel_layer3_rmin" value="973.85" />
+      <constant name="trk_barrel_layer3_rmax" value="trk_barrel_layer3_rmin + trk_layer_thickness" />
+      <constant name="trk_barrel_layer3_half_zlen" value="1316.7" />
+      <constant name="trk_barrel_layer3_zlen" value="trk_barrel_layer3_half_zlen * 2" />
+
+      <constant name="trk_barrel_layer4_rmin" value="1236.35" />
+      <constant name="trk_barrel_layer4_rmax" value="trk_barrel_layer4_rmin + trk_layer_thickness" />
+      <constant name="trk_barrel_layer4_half_zlen" value="1649.0" />
+      <constant name="trk_barrel_layer4_zlen" value="trk_barrel_layer4_half_zlen * 2" />
+
+      <!-- ecal -->
+      <constant name="ecal_layer_thickness" value="3.75" />
+      <constant name="ecal_nlayers" value="30" />
+      <constant name="ecal_thickness" value="ecal_layer_thickness * ecal_nlayers" />
+
+      <!-- ecal barrel -->
+      <constant name="ecal_barrel_rmin" value="1270.0" />
+      <constant name="ecal_barrel_rmax" value="ecal_barrel_rmin + ecal_thickness" />
+      <constant name="ecal_barrel_half_zlen" value="1792.5" />
+      <constant name="ecal_barrel_zlen" value="ecal_barrel_half_zlen * 2" />
+
+      <!-- hcal -->
+      <constant name="hcal_layer_thickness" value="15.0" />
+      <constant name="hcal_nlayers" value="55" />
+      <constant name="hcal_thickness" value="hcal_layer_thickness * hcal_nlayers" />
+
+      <!-- hcal barrel -->
+      <constant name="hcal_barrel_rmin" value="1382.6" />
+      <constant name="hcal_barrel_rmax" value="hcal_barrel_rmin + hcal_thickness" />
+      <constant name="hcal_barrel_half_zlen" value="2618.5" />
+      <constant name="hcal_barrel_zlen" value="hcal_barrel_half_zlen * 2"/>
+
+      <!-- coil -->
+      <constant name="coil_thickness" value="850.0" />
+      <constant name="coil_barrel_rmin" value="2500.0" />
+      <constant name="coil_barrel_rmax" value="coil_barrel_rmin + coil_thickness" />
+      <constant name="coil_barrel_half_zlen" value="2570.0" />
+      <constant name="coil_barrel_zlen" value="coil_barrel_half_zlen * 2" />
+
+      <!-- muon -->
+      <constant name="muon_layer_thickness" value="58.0" />
+      <constant name="muon_nlayers" value="48" />
+      <constant name="muon_thickness" value="muon_layer_thickness * muon_nlayers" />
+
+      <!-- muon barrel -->
+      <constant name="muon_barrel_rmin" value="3450.0"/>
+      <constant name="muon_barrel_rmax" value="muon_barrel_rmin + muon_thickness"/>
+      <constant name="muon_barrel_half_zlen" value="2620.0"/>
+      <constant name="muon_barrel_zlen" value="muon_barrel_half_zlen * 2" />
+
+    </define>
+
+    <materials>
+
+      <!-- elements -->
+      <element name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value="39.9480" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <!-- materials -->
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+    </materials>
+
+    <solids>
+
+      <!-- world -->
+      <box lunit="mm" 
+	   aunit="degree"
+	   name="world_box"
+	   x="world_x"  
+	   y="world_y"  
+	   z="world_z" />
+
+      <tube name="mask_lum_cal_tube"
+	    lunit="cm"
+	    z="mask_lum_cal_z"
+	    rmin="0.0"
+	    rmax="mask_lum_cal_rmax"
+	    deltaphi="TWOPI"
+	    />     
+
+      <tube name="beam_incoming"
+	    lunit="cm"
+	    z="beam_incoming_z"
+	    rmin="0.0"
+	    rmax="beam_incoming_rmax"
+	    deltaphi="TWOPI"
+	    />     
+
+      <tube name="beam_outgoing"
+	    lunit="cm"
+	    z="beam_outgoing_z"
+	    rmin="0.0"
+	    rmax="beam_outgoing_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <polycone name="mask_inst_polycone"
+		lunit="cm"
+		startphi="0"
+		deltaphi="TWOPI">
+
+	<zplane rmin="mask_inst_zplane1_rmin"
+		rmax="mask_inst_zplane1_rmax"
+		z="-ecal_endcap_thick / 2" />
+
+	<zplane rmin="mask_inst_zplane2_rmin"
+		rmax="mask_inst_zplane2_rmax"
+		z="ecal_endcap_thick / 2"/>
+
+      </polycone>
+
+      <polycone name="mask_polycone"
+		lunit="cm"
+		startphi="0"
+		deltaphi="TWOPI">
+	<zplane rmin="mask_zplane1_rmin"
+		rmax="mask_zplane1_rmax"
+		z="-hcal_endcap_thick / 2"/>
+	<zplane rmin="mask_zplane2_rmin"
+		rmax="mask_zplane2_rmax"
+		z="hcal_endcap_thick / 2"/>
+      </polycone>
+
+      <tube name="mask_lowz_tube"
+	    lunit="cm"
+	    rmin="0.0"
+	    rmax="mask_lowz_rmax"
+	    z="mask_lowz_z"
+	    startphi="0"
+	    deltaphi="TWOPI"/>
+      
+      <subtraction name="mask_lum_cal_bool1_sol">
+
+	<first ref="mask_lum_cal_tube" />
+	<second ref="beam_incoming" />
+
+	<position name="left_pos" x="beam_pos_in_mask_x * cm" y="0.0" z="0.0" />
+
+	<rotation name="left_rot" x="0.0" y="crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+      <subtraction name="mask_lum_cal_bool2_sol">
+	<first ref="mask_lum_cal_bool1_sol"/>
+	<second ref="beam_outgoing" />
+
+	<position name="right_pos" x="-beam_pos_in_mask_x * cm" y="0.0" z="0.0" />
+	<rotation name="right_rot" x="0.0" y="-crossing_angle * degree" z="0.0" /> 
+
+      </subtraction>
+
+      <subtraction name="mask_lowz_bool1_sol">
+	<first ref="mask_lowz_tube"/>
+	<second ref="beam_incoming"/>
+
+	<position name="mask_lowz_beam_incoming_pos" x="beam_pos_in_mask_lowz_x * cm" y="0.0" z="0.0" />
+	<rotation name="mask_lowz_beam_incoming_rot" x="0.0" y="crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+      <subtraction name="mask_lowz_bool2_sol">
+	<first ref="mask_lowz_bool1_sol"/>
+	<second ref="beam_outgoing"/>
+
+	<position name="mask_lowz_beam_outgoing_pos" x="-beam_pos_in_mask_lowz_x * cm" y="0.0" z="0.0" />
+	<rotation name="mask_lowz_beam_outgoing_rot" x="0.0" y="-crossing_angle * degree" z="0.0" />
+
+      </subtraction>
+
+
+      <!-- vtx solids -->
+      <tube name="vtx_barrel_layer0_tube"
+	    z="vtx_barrel_layer0_zlen"
+	    rmin="vtx_barrel_layer0_rmin"
+	    rmax="vtx_barrel_layer0_rmax"
+	    deltaphi="TWOPI"
+	    />      
+
+      <tube name="vtx_barrel_layer1_tube"
+	    z="vtx_barrel_layer0_zlen"
+	    rmin="vtx_barrel_layer1_rmin"
+	    rmax="vtx_barrel_layer1_rmax"
+	    deltaphi="TWOPI"
+	    />      
+
+      <tube name="vtx_barrel_layer2_tube"
+	    z="vtx_barrel_layer0_zlen"
+	    rmin="vtx_barrel_layer2_rmin"
+	    rmax="vtx_barrel_layer2_rmax"
+	    deltaphi="TWOPI"
+	    />      
+
+      <tube name="vtx_barrel_layer3_tube"
+	    z="vtx_barrel_layer3_zlen"
+	    rmin="vtx_barrel_layer3_rmin"
+	    rmax="vtx_barrel_layer3_rmax"
+	    deltaphi="TWOPI"
+	    />      
+
+      <tube name="vtx_barrel_layer4_tube"
+	    z="vtx_barrel_layer4_zlen"
+	    rmin="vtx_barrel_layer4_rmin"
+	    rmax="vtx_barrel_layer4_rmax"
+	    deltaphi="TWOPI"
+	    />      
+
+      <!-- trk solids -->
+      <tube name="trk_barrel_layer0_tube"
+	    z="trk_barrel_layer0_zlen"
+	    rmin="trk_barrel_layer0_rmin"
+	    rmax="trk_barrel_layer0_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barrel_layer1_tube"
+	    z="trk_barrel_layer1_zlen"
+	    rmin="trk_barrel_layer1_rmin"
+	    rmax="trk_barrel_layer1_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barrel_layer2_tube"
+	    z="trk_barrel_layer2_zlen"
+	    rmin="trk_barrel_layer2_rmin"
+	    rmax="trk_barrel_layer2_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barrel_layer3_tube"
+	    z="trk_barrel_layer3_zlen"
+	    rmin="trk_barrel_layer3_rmin"
+	    rmax="trk_barrel_layer3_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barrel_layer4_tube"
+	    z="trk_barrel_layer4_zlen"
+	    rmin="trk_barrel_layer4_rmin"
+	    rmax="trk_barrel_layer4_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- ecal solids -->
+
+      <!-- ecal barrel polyhedra -->
+      <polyhedra name="ecal_barrel_polyhedra"
+		 numsides="octagon_nsides"
+		 startphi="0"
+		 deltaphi="TWOPI">
+	<zplane rmin="ecal_barrel_rmin"
+		rmax="ecal_barrel_rmax"
+		z="ecal_barrel_zlen" />
+	<zplane rmin="ecal_barrel_rmin"
+		rmax="ecal_barrel_rmax"
+		z="-ecal_barrel_zlen" />
+      </polyhedra>
+
+      <!-- hcal barrel polyhedra -->
+      <polyhedra name="hcal_barrel_polyhedra"
+		 numsides="octagon_nsides"
+		 startphi="0"
+		 deltaphi="TWOPI">
+	<zplane rmin="hcal_barrel_rmin"
+		rmax="hcal_barrel_rmax"
+		z="hcal_barrel_zlen"/>
+	<zplane rmin="hcal_barrel_rmin"
+		rmax="hcal_barrel_rmax"
+		z="-hcal_barrel_zlen"/>
+      </polyhedra>
+
+      <!-- muon barrel polyhedra -->
+      <polyhedra name="muon_barrel_polyhedra"
+		 numsides="octagon_nsides"
+		 startphi="0"
+		 deltaphi="TWOPI">
+	<zplane rmin="muon_barrel_rmin"
+		rmax="muon_barrel_rmax"
+		z="muon_barrel_zlen"/>
+	<zplane rmin="muon_barrel_rmin"
+		rmax="muon_barrel_rmax"
+		z="-muon_barrel_zlen"/>
+      </polyhedra>
+
+      <!-- coil tube -->
+      <tube name="coil_barrel_tube"
+	    startphi="0"
+	    deltaphi="TWOPI"
+	    rmin="coil_barrel_rmin"
+	    rmax="coil_barrel_rmax"
+	    z="coil_barrel_zlen" />	  
+
+    </solids>
+
+    <structure>
+
+      <volume name="mask_lum_cal">
+	<materialref ref="Air"/>
+	<solidref ref="mask_lum_cal_bool2_sol"/>
+	<visref ref="MaskLumCalVis" />
+      </volume>
+
+      <volume name="mask_inst">
+	<materialref ref="Air"/>
+	<solidref ref="mask_inst_polycone"/>
+	<visref ref="InstMaskVis" />
+      </volume>
+
+      <volume name="mask">
+	<materialref ref="Air"/>
+	<solidref ref="mask_polycone"/>
+	<visref ref="MaskVis" />
+      </volume>
+
+      <volume name="mask_lowz">
+	<materialref ref="Air"/>
+	<solidref ref="mask_lowz_bool2_sol"/>
+	<visref ref="MaskLowzVis" />
+      </volume>
+
+
+      <!-- vtx barrel volumes -->
+      <volume name="vtx_barrel_layer0">
+	<materialref ref="Air"/>
+	<solidref ref="vtx_barrel_layer0_tube"/>
+	<visref ref="VtxVis" />
+      </volume>
+
+      <volume name="vtx_barrel_layer1">
+	<materialref ref="Air"/>
+	<solidref ref="vtx_barrel_layer1_tube"/>
+	<visref ref="VtxVis" />
+      </volume>
+
+      <volume name="vtx_barrel_layer2">
+	<materialref ref="Air"/>
+	<solidref ref="vtx_barrel_layer2_tube"/>
+	<visref ref="VtxVis" />
+      </volume>
+
+      <volume name="vtx_barrel_layer3">
+	<materialref ref="Air"/>
+	<solidref ref="vtx_barrel_layer3_tube"/>
+	<visref ref="VtxVis" />
+      </volume>
+
+      <volume name="vtx_barrel_layer4">
+	<materialref ref="Air"/>
+	<solidref ref="vtx_barrel_layer4_tube"/>
+	<visref ref="VtxVis" />
+      </volume>
+
+      <!-- trk barrel volumes -->
+      <volume name="trk_barrel_layer0">
+	<materialref ref="Air"/>
+	<solidref ref="trk_barrel_layer0_tube"/>
+	<visref ref="TrkVis" />
+      </volume>	 
+
+      <volume name="trk_barrel_layer1">
+	<materialref ref="Air"/>
+	<solidref ref="trk_barrel_layer1_tube"/>
+	<visref ref="TrkVis" />
+      </volume>	 
+
+      <volume name="trk_barrel_layer2">
+	<materialref ref="Air"/>
+	<solidref ref="trk_barrel_layer2_tube"/>
+	<visref ref="TrkVis" />
+      </volume>	 
+
+      <volume name="trk_barrel_layer3">
+	<materialref ref="Air"/>
+	<solidref ref="trk_barrel_layer3_tube"/>
+	<visref ref="TrkVis" />
+      </volume>	 
+
+      <volume name="trk_barrel_layer4">
+	<materialref ref="Air"/>
+	<solidref ref="trk_barrel_layer4_tube"/>
+	<visref ref="TrkVis" />
+      </volume>	 
+
+      <!-- ecal barrel volume -->
+      <volume name="ecal_barrel">
+	<materialref ref="Air"/>
+	<solidref ref="ecal_barrel_polyhedra"/>
+	<visref ref="EcalVis" />
+      </volume>
+
+      <!-- hcal barrel volume -->
+      <volume name="hcal_barrel">
+	<materialref ref="Air"/>
+	<solidref ref="hcal_barrel_polyhedra"/>
+	<visref ref="HcalVis" />
+      </volume>
+
+      <!-- coil barrel volume -->
+      <volume name="coil_barrel">
+	<materialref ref="Air"/>
+	<solidref ref="coil_barrel_tube"/>
+	<visref ref="CoilVis" />
+      </volume>
+
+      <!-- muon barrel volume -->
+      <volume name="muon_barrel">
+	<materialref ref="Air"/>
+	<solidref ref="muon_barrel_polyhedra" />
+	<visref ref="MuonVis" />
+      </volume>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+
+	<!-- north MDI-BDS system -->
+	<physvol>
+	  <volumeref ref="mask_lum_cal"/>
+	  <positionref ref="lumcal_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_inst"/>
+	  <positionref ref="mask_inst_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask"/>
+	  <positionref ref="mask_north_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_lowz"/>
+	  <positionref ref="mask_lowz_north_pos" />
+	  <rotationref ref="identity_rot" />
+	</physvol>
+
+	<!-- south MDI_BDS system -->
+	<physvol>
+	  <volumeref ref="mask_lum_cal"/>
+	  <positionref ref="lumcal_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_inst"/>
+	  <positionref ref="mask_inst_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask"/>
+	  <positionref ref="mask_south_pos"/>
+	  <rotationref ref="south_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="mask_lowz"/>
+	  <positionref ref="mask_lowz_south_pos" />
+	  <rotationref ref="south_rot" />
+	</physvol>
+
+	<!-- vtx barrel physvol -->
+	<physvol>
+	  <volumeref ref="vtx_barrel_layer0"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="vtx_barrel_layer1"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="vtx_barrel_layer2"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="vtx_barrel_layer3"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="vtx_barrel_layer4"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<!-- trk barrel physvol -->
+	<physvol>
+	  <volumeref ref="trk_barrel_layer0"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="trk_barrel_layer1"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="trk_barrel_layer2"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="trk_barrel_layer3"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<physvol>
+	  <volumeref ref="trk_barrel_layer4"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<!-- ecal barrel physvol -->
+	<physvol>
+	  <volumeref ref="ecal_barrel"/>	    
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="octagon_rot" />
+	</physvol>
+
+	<!-- hcal barrel physvol -->
+	<physvol>
+	  <volumeref ref="hcal_barrel"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="octagon_rot"/>
+	</physvol>
+	
+	<!-- coil barrel physvol -->
+	<physvol>
+	  <volumeref ref="coil_barrel"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="identity_rot"/>
+	</physvol>
+
+	<!-- muon barrel physvol -->
+	<physvol>
+	  <volumeref ref="muon_barrel"/>
+	  <positionref ref="identity_pos"/>
+	  <rotationref ref="octagon_rot"/>
+	</physvol>
+
+	<visref ref="WorldVis" />
+      </volume>
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <!-- global field -->
+  <fields>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/tbeam
catcher_constants.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/catcher_constants.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/catcher_constants.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,120 @@
+<!-- catcher_constants.inc -->
+<!-- catcher slice thicknesses -->
+<constant name="catcher_steel_front_thickness"      value="1.0*mm" />
+<constant name="catcher_poly_front_thickness"       value="1.0*mm" />
+<constant name="catcher_tyvek_front_thickness"      value="0.25*mm" />
+<constant name="catcher_poly_active_thickness"      value="5.0*mm" />
+<constant name="catcher_tyvek_back_thickness"       value="0.25*mm" />
+<constant name="catcher_poly_back_thickness"        value="1.0*mm" />
+<constant name="catcher_steel_back_thickness"       value="1.0*mm" />
+
+<constant name="catcher_steel_abs_fine_thickness"   value="19.2*mm" />
+<constant name="catcher_steel_abs_coarse_thickness" value="76.2*mm" />
+
+<!-- catcher layer thickness -->
+<constant name="catcher_layer_base_thickness" value="catcher_steel_front_thickness +
+						     catcher_poly_front_thickness +
+						     catcher_tyvek_front_thickness +
+						     catcher_poly_active_thickness +
+						     catcher_tyvek_back_thickness +
+						     catcher_poly_back_thickness +
+						     catcher_steel_back_thickness" />
+
+<constant name="catcher_layer_fine_thickness" value="catcher_layer_base_thickness +
+						     catcher_steel_abs_fine_thickness" />
+
+<constant name="catcher_layer_coarse_thickness" value="catcher_layer_base_thickness +
+						       catcher_steel_abs_coarse_thickness" />
+
+<!-- catcher layer box dims -->
+<constant name="catcher_layer_x" value="1.0*m" />
+<constant name="catcher_layer_y" value="1.0*m" />
+<constant name="catcher_layer_fine_z" value="catcher_layer_fine_thickness" />
+<constant name="catcher_layer_coarse_z" value="catcher_layer_coarse_thickness" />
+
+<!-- catcher number of layers: must match the lay#_z, lay#_pos given below  -->
+<constant name="catcher_num_fine_layers"   value="8" />
+<constant name="catcher_num_coarse_layers" value="8" />
+<constant name="catcher_num_layers"        value="catcher_num_fine_layers +
+						  catcher_num_coarse_layers" />
+
+<!-- catcher dims --> 
+<constant name="catcher_x" value="catcher_layer_x" />
+<constant name="catcher_y" value="catcher_layer_y" />
+<constant name="catcher_coarse_z" value="catcher_num_coarse_layers * catcher_layer_coarse_z" />
+<constant name="catcher_fine_z"   value="catcher_num_fine_layers   * catcher_layer_fine_z" />
+<constant name="catcher_z"        value="catcher_coarse_z + catcher_fine_z" />
+
+<!-- catcher slice z in layer for module -->
+<constant name="catcher_steel_front_z"      value="-catcher_layer_base_thickness/2 + catcher_steel_front_thickness/2" />
+<constant name="catcher_poly_front_z"       value="catcher_steel_front_z + catcher_steel_front_thickness/2 + catcher_poly_front_thickness/2" />
+<constant name="catcher_tyvek_front_z"      value="catcher_poly_front_z  + catcher_poly_front_thickness/2  + catcher_tyvek_front_thickness/2" />
+<constant name="catcher_poly_active_z"      value="catcher_tyvek_front_z + catcher_tyvek_front_thickness/2 + catcher_poly_active_thickness/2" />
+<constant name="catcher_tyvek_back_z"       value="catcher_poly_active_z + catcher_poly_active_thickness/2 + catcher_tyvek_back_thickness/2" />
+<constant name="catcher_poly_back_z"        value="catcher_tyvek_back_z  + catcher_tyvek_back_thickness/2  + catcher_poly_back_thickness/2" />
+<constant name="catcher_steel_back_z"       value="catcher_poly_back_z   + catcher_poly_back_thickness/2   + catcher_steel_back_thickness/2" />
+
+<!-- module and abs pos in fine layer -->
+<constant name="catcher_module_fine_z"   value="-catcher_layer_fine_z/2 + catcher_layer_base_thickness/2" />
+<constant name="catcher_abs_fine_z"      value="catcher_layer_fine_z/2 - catcher_steel_abs_fine_thickness/2" />
+<position name="catcher_module_fine_pos" z="catcher_module_fine_z" />
+<position name="catcher_abs_fine_pos"    z="catcher_abs_fine_z" />
+
+<!-- module and abs pos in coarse layer -->
+<constant name="catcher_module_coarse_z"   value="-catcher_layer_coarse_z/2 + catcher_layer_base_thickness/2" />
+<constant name="catcher_abs_coarse_z"      value="catcher_layer_coarse_thickness/2 - catcher_steel_abs_coarse_thickness/2" />
+<position name="catcher_module_coarse_pos" z="catcher_module_coarse_z" />
+<position name="catcher_abs_coarse_pos"    z="catcher_abs_coarse_z" />
+
+<!-- catcher pos -->
+<constant name="catcher_gap_z" value="10.0 * cm" />
+
+<!-- catcher slice rel pos in active module (no abs.) -->
+<position name="catcher_steel_front_pos" z="catcher_steel_front_z"/>
+<position name="catcher_poly_front_pos"  z="catcher_poly_front_z" />
+<position name="catcher_tyvek_front_pos" z="catcher_tyvek_front_z" />
+<position name="catcher_poly_active_pos" z="catcher_poly_active_z" />
+<position name="catcher_tyvek_back_pos"  z="catcher_tyvek_back_z" />
+<position name="catcher_poly_back_pos"   z="catcher_poly_back_z" />
+<position name="catcher_steel_back_pos"  z="catcher_steel_back_z" />
+
+<!-- catcher layer z values -->
+<constant name="catcher_lay0_z" value="-catcher_z/2 + catcher_layer_fine_thickness/2" />
+<constant name="catcher_lay1_z" value="catcher_lay0_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay2_z" value="catcher_lay1_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay3_z" value="catcher_lay2_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay4_z" value="catcher_lay3_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay5_z" value="catcher_lay4_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay6_z" value="catcher_lay5_z + catcher_layer_fine_thickness" />
+<constant name="catcher_lay7_z" value="catcher_lay6_z + catcher_layer_fine_thickness" />
+
+<!-- This one is special: last - 1/2 fine - 1/2 coarse -->
+<constant name="catcher_lay8_z" value="catcher_lay7_z +
+				       catcher_layer_fine_thickness/2 + 
+				       catcher_layer_coarse_thickness/2" />
+
+<constant name="catcher_lay9_z" value="catcher_lay8_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay10_z" value="catcher_lay9_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay11_z" value="catcher_lay10_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay12_z" value="catcher_lay11_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay13_z" value="catcher_lay12_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay14_z" value="catcher_lay13_z + catcher_layer_coarse_thickness" />
+<constant name="catcher_lay15_z" value="catcher_lay14_z + catcher_layer_coarse_thickness" />
+
+<!-- catcher layer positions -->
+<position name="catcher_lay0_pos" z="catcher_lay0_z" />
+<position name="catcher_lay1_pos" z="catcher_lay1_z" />
+<position name="catcher_lay2_pos" z="catcher_lay2_z" />
+<position name="catcher_lay3_pos" z="catcher_lay3_z" />
+<position name="catcher_lay4_pos" z="catcher_lay4_z" />
+<position name="catcher_lay5_pos" z="catcher_lay5_z" />
+<position name="catcher_lay6_pos" z="catcher_lay6_z" />
+<position name="catcher_lay7_pos" z="catcher_lay7_z" />
+<position name="catcher_lay8_pos" z="catcher_lay8_z" />
+<position name="catcher_lay9_pos" z="catcher_lay9_z" />
+<position name="catcher_lay10_pos" z="catcher_lay10_z" />
+<position name="catcher_lay11_pos" z="catcher_lay11_z" />
+<position name="catcher_lay12_pos" z="catcher_lay12_z" />
+<position name="catcher_lay13_pos" z="catcher_lay13_z" />
+<position name="catcher_lay14_pos" z="catcher_lay14_z" />
+<position name="catcher_lay15_pos" z="catcher_lay15_z" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
catcher_solids.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/catcher_solids.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/catcher_solids.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,22 @@
+<!-- catcher_solids.inc, catcher solids -->
+<!-- catcher boxes -->
+<box name="CatcherBox" x="catcher_x" y="catcher_y" z="catcher_z" />
+
+<!-- catcher layer boxes -->
+<box name="CatcherLayerFineBox"    x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_fine_thickness" />
+<box name="CatcherLayerCoarseBox"  x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_coarse_thickness" />
+
+<!-- module sublayer -->
+<box name="CatcherModuleBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_base_thickness" />
+
+<!-- catcher slice boxes -->
+<box name="CatcherSteelFrontBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_front_thickness" />
+<box name="CatcherPolyFrontBox"  x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_front_thickness" />
+<box name="CatcherTyvekFrontBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_tyvek_front_thickness" />
+<box name="CatcherPolyActiveBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_active_thickness" />
+<box name="CatcherTyvekBackBox"  x="catcher_layer_x" y="catcher_layer_y" z="catcher_tyvek_back_thickness" />
+<box name="CatcherPolyBackBox"   x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_back_thickness" />
+<box name="CatcherSteelBackBox"  x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_back_thickness" />
+
+<box name="CatcherFineAbsBox"    x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_abs_fine_thickness" />
+<box name="CatcherCoarseAbsBox"  x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_abs_coarse_thickness" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
catcher_structure.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/catcher_structure.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/catcher_structure.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,260 @@
+<!-- 
+     catcher_structure.inc
+     catcher structure 
+-->
+<!-- catcher slices -->
+<volume name="CatcherSteelFront">	
+  <materialref ref="Steel235" />
+  <solidref ref="CatcherSteelFrontBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherPolyFront">	
+  <materialref ref="Polystyrene" />
+  <solidref ref="CatcherPolyFrontBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherTyvekFront">	
+  <materialref ref="Polyethylene" />
+  <solidref ref="CatcherTyvekFrontBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherPolyActive">	
+  <materialref ref="Polystyrene" />
+  <solidref ref="CatcherPolyActiveBox" />
+  <sdref ref="TCSD" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherTyvekBack">	
+  <materialref ref="Polyethylene" />
+  <solidref ref="CatcherTyvekBackBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherPolyBack">	
+  <materialref ref="Polystyrene" />
+  <solidref ref="CatcherPolyBackBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherSteelBack">	
+  <materialref ref="Steel235" />
+  <solidref ref="CatcherSteelBackBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherFineAbs">	
+  <materialref ref="Steel235" />
+  <solidref ref="CatcherFineAbsBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<volume name="CatcherCoarseAbs">	
+  <materialref ref="Steel235" />
+  <solidref ref="CatcherCoarseAbsBox" />
+  <visref ref="CatcherVis" />
+</volume>
+
+<!-- single layers, RO module, fine and coarse -->
+
+<!-- RO module -->
+<volume name="CatcherModule">
+  <materialref ref="Air" />
+  <solidref ref="CatcherModuleBox" />
+
+  <physvol>
+    <volumeref ref="CatcherSteelFront" />
+    <positionref ref="catcher_steel_front_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherPolyFront" />
+    <positionref ref="catcher_poly_front_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherTyvekFront" />
+    <positionref ref="catcher_tyvek_front_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherPolyActive" />
+    <positionref ref="catcher_poly_active_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherTyvekBack" />
+    <positionref ref="catcher_tyvek_back_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherPolyBack" />
+    <positionref ref="catcher_poly_back_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherSteelBack" />
+    <positionref ref="catcher_steel_back_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="CatcherVis" />
+
+</volume>
+
+<!-- fine layer -->
+<volume name="CatcherLayerFine">
+  <materialref ref="Air" />
+  <solidref ref="CatcherLayerFineBox" />
+
+  <physvol>
+    <volumeref ref="CatcherModule" />
+    <positionref ref="catcher_module_fine_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherFineAbs" />
+    <positionref ref="catcher_abs_fine_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="CatcherVis" />
+
+</volume>
+
+<!-- coarse layer -->
+<volume name="CatcherLayerCoarse">
+  <materialref ref="Air" />
+  <solidref ref="CatcherLayerCoarseBox" />
+
+  <physvol>
+    <volumeref ref="CatcherModule" />
+    <positionref ref="catcher_module_coarse_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherCoarseAbs" />
+    <positionref ref="catcher_abs_coarse_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="CatcherVis" />
+
+</volume>
+
+<!-- catcher layer positions -->
+<volume name="Catcher">
+
+  <materialref ref="Air" />
+  <solidref ref="CatcherBox" />
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay0_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay1_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay2_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay3_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay4_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay5_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay6_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerFine" />
+    <positionref ref="catcher_lay7_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay8_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay9_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay10_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay11_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay12_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay13_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay14_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="CatcherLayerCoarse" />
+    <positionref ref="catcher_lay15_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="CatcherVis" />
+
+</volume>
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
det_constants.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/det_constants.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/det_constants.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,20 @@
+<!-- detector envelope -->	
+<constant name="det_x" value="1.5 * m" />
+<constant name="det_y" value="1.5 * m" />
+
+<constant name="pre_gap" value="1.0 * m" />
+<constant name="post_gap" value="1.0 * m" />
+
+<!--
+<constant name="det_z" value="pre_gap + ecal_z + hcal_z + hcal_gap_z + catcher_z + catcher_gap_z + post_gap" />
+-->
+
+<constant name="det_z" value="world_side" />
+
+<constant name="ecal_pos_z" value="-det_z / 2 + pre_gap + ecal_z / 2" />
+<constant name="hcal_pos_z" value="ecal_pos_z + hcal_gap_z + ecal_z / 2 + hcal_z / 2" />
+<constant name="catcher_pos_z" value="hcal_pos_z + catcher_gap_z + hcal_z / 2 + catcher_z / 2" />
+
+<position name="ecal_pos" z="ecal_pos_z" />
+<position name="hcal_pos" z="hcal_pos_z" />
+<position name="catcher_pos" z="catcher_pos_z" />

projects/lcdd/trunk/examples/old/tbeam
det_solids.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/det_solids.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/det_solids.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1 @@
+<box name="DetectorEnvelopeBox" x="det_x" y="det_y" z="det_z" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
det_structure.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/det_structure.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/det_structure.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,31 @@
+<volume name="DetectorEnvelope">
+  <materialref ref="Air" />
+  <solidref ref="DetectorEnvelopeBox" />
+
+  <!-- ecal -->
+  <physvol>
+    <volumeref ref="Ecal" />
+    <positionref ref="ecal_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <!-- hcal -->
+  <physvol>
+    <volumeref ref="HCal" />
+    <positionref ref="hcal_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+  
+  <!-- catcher -->
+  <physvol>
+    <volumeref ref="Catcher" />
+    <positionref ref="catcher_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <!-- detector region -->
+  <regionref ref="DetectorRegion" />
+
+  <visref ref="InvisibleVis" />  
+
+</volume> 
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
ecal_constants.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/ecal_constants.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/ecal_constants.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,110 @@
+<!-- ecal_constants.inc, ecal constants -->
+<!-- ecal slice thicknesses -->
+<constant name="ecal_w_thickness"   value="2.5*mm" />
+<constant name="ecal_g10_thickness" value="0.5*mm" />
+<constant name="ecal_si_thickness"  value="0.4*mm" />
+<constant name="ecal_cu_thickness"  value="1.0*mm" />
+<constant name="ecal_air_thickness" value="0.6*mm" />
+
+<!-- ecal layer thickness -->
+<constant name="ecal_layer_thickness" value="ecal_w_thickness +  
+					     ecal_g10_thickness +
+					     ecal_si_thickness +
+					     ecal_cu_thickness +
+					     ecal_air_thickness" />
+
+<constant name="ecal_layer_half_thickness" value="ecal_layer_thickness/2" />
+
+<!-- ecal layer box dims -->
+<constant name="ecal_layer_x" value="18.0*cm" />
+<constant name="ecal_layer_y" value="18.0*cm" />
+<constant name="ecal_layer_z" value="ecal_layer_thickness" />
+
+<!-- ecal number of layers 
+     must match the layJ#_z, lay#_pos given below
+-->
+<constant name="ecal_num_layers" value="30" />
+
+<!-- ecal dims -->
+<constant name="ecal_x" value="ecal_layer_x" />
+<constant name="ecal_y" value="ecal_layer_y" />
+<constant name="ecal_z" value="ecal_num_layers * ecal_layer_thickness" />
+<constant name="ecal_half_z" value="ecal_z/2" />
+
+<!-- ecal slice z in layer -->
+<constant name="ecal_w_z"   value="-ecal_layer_half_thickness + ecal_w_thickness/2" />
+<constant name="ecal_g10_z" value="ecal_w_z + ecal_w_thickness/2 + ecal_g10_thickness/2" />
+<constant name="ecal_si_z"  value="ecal_g10_z + ecal_g10_thickness/2 + ecal_si_thickness/2" />
+<constant name="ecal_cu_z"  value="ecal_si_z + ecal_si_thickness/2 + ecal_cu_thickness/2" />
+<constant name="ecal_air_z" value="ecal_cu_z + ecal_cu_thickness/2 + ecal_air_thickness/2" />
+
+<!-- ecal slice rel pos in layer -->
+<position name="ecal_w_pos"   z="ecal_w_z" />
+<position name="ecal_g10_pos" z="ecal_g10_z" />
+<position name="ecal_si_pos"  z="ecal_si_z" />
+<position name="ecal_cu_pos"  z="ecal_cu_z" />
+<position name="ecal_air_pos" z="ecal_air_z" />
+
+<!-- ecal layer z values -->
+<constant name="ecal_lay0_z" value="-ecal_z/2 + ecal_layer_half_thickness" />
+<constant name="ecal_lay1_z" value="ecal_lay0_z + ecal_layer_thickness" />
+<constant name="ecal_lay2_z" value="ecal_lay1_z + ecal_layer_thickness" />
+<constant name="ecal_lay3_z" value="ecal_lay2_z + ecal_layer_thickness" />
+<constant name="ecal_lay4_z" value="ecal_lay3_z + ecal_layer_thickness" />
+<constant name="ecal_lay5_z" value="ecal_lay4_z + ecal_layer_thickness" />
+<constant name="ecal_lay6_z" value="ecal_lay5_z + ecal_layer_thickness" />
+<constant name="ecal_lay7_z" value="ecal_lay6_z + ecal_layer_thickness" />
+<constant name="ecal_lay8_z" value="ecal_lay7_z + ecal_layer_thickness" />
+<constant name="ecal_lay9_z" value="ecal_lay8_z + ecal_layer_thickness" />
+<constant name="ecal_lay10_z" value="ecal_lay9_z + ecal_layer_thickness" />
+<constant name="ecal_lay11_z" value="ecal_lay10_z + ecal_layer_thickness" />
+<constant name="ecal_lay12_z" value="ecal_lay11_z + ecal_layer_thickness" />
+<constant name="ecal_lay13_z" value="ecal_lay12_z + ecal_layer_thickness" />
+<constant name="ecal_lay14_z" value="ecal_lay13_z + ecal_layer_thickness" />
+<constant name="ecal_lay15_z" value="ecal_lay14_z + ecal_layer_thickness" />
+<constant name="ecal_lay16_z" value="ecal_lay15_z + ecal_layer_thickness" />
+<constant name="ecal_lay17_z" value="ecal_lay16_z + ecal_layer_thickness" />
+<constant name="ecal_lay18_z" value="ecal_lay17_z + ecal_layer_thickness" />
+<constant name="ecal_lay19_z" value="ecal_lay18_z + ecal_layer_thickness" />
+<constant name="ecal_lay20_z" value="ecal_lay19_z + ecal_layer_thickness" />
+<constant name="ecal_lay21_z" value="ecal_lay20_z + ecal_layer_thickness" />
+<constant name="ecal_lay22_z" value="ecal_lay21_z + ecal_layer_thickness" />
+<constant name="ecal_lay23_z" value="ecal_lay22_z + ecal_layer_thickness" />
+<constant name="ecal_lay24_z" value="ecal_lay23_z + ecal_layer_thickness" />
+<constant name="ecal_lay25_z" value="ecal_lay24_z + ecal_layer_thickness" />
+<constant name="ecal_lay26_z" value="ecal_lay25_z + ecal_layer_thickness" />
+<constant name="ecal_lay27_z" value="ecal_lay26_z + ecal_layer_thickness" />    
+<constant name="ecal_lay28_z" value="ecal_lay27_z + ecal_layer_thickness" />    
+<constant name="ecal_lay29_z" value="ecal_lay28_z + ecal_layer_thickness" />
+
+<!-- ecal layer positions -->
+<position name="ecal_lay0_pos" z="ecal_lay0_z" />
+<position name="ecal_lay1_pos" z="ecal_lay1_z" />
+<position name="ecal_lay2_pos" z="ecal_lay2_z" />
+<position name="ecal_lay3_pos" z="ecal_lay3_z" />
+<position name="ecal_lay4_pos" z="ecal_lay4_z" />
+<position name="ecal_lay5_pos" z="ecal_lay5_z" />
+<position name="ecal_lay6_pos" z="ecal_lay6_z" />
+<position name="ecal_lay7_pos" z="ecal_lay7_z" />
+<position name="ecal_lay8_pos" z="ecal_lay8_z" />
+<position name="ecal_lay9_pos" z="ecal_lay9_z" />
+<position name="ecal_lay10_pos" z="ecal_lay10_z" />
+<position name="ecal_lay11_pos" z="ecal_lay11_z" />
+<position name="ecal_lay12_pos" z="ecal_lay12_z" />
+<position name="ecal_lay13_pos" z="ecal_lay13_z" />
+<position name="ecal_lay14_pos" z="ecal_lay14_z" />
+<position name="ecal_lay15_pos" z="ecal_lay15_z" />
+<position name="ecal_lay16_pos" z="ecal_lay16_z" />
+<position name="ecal_lay17_pos" z="ecal_lay17_z" />
+<position name="ecal_lay18_pos" z="ecal_lay18_z" />
+<position name="ecal_lay19_pos" z="ecal_lay19_z" />
+<position name="ecal_lay20_pos" z="ecal_lay20_z" />
+<position name="ecal_lay21_pos" z="ecal_lay21_z" />
+<position name="ecal_lay22_pos" z="ecal_lay22_z" />
+<position name="ecal_lay23_pos" z="ecal_lay23_z" />
+<position name="ecal_lay24_pos" z="ecal_lay24_z" />
+<position name="ecal_lay25_pos" z="ecal_lay25_z" />
+<position name="ecal_lay26_pos" z="ecal_lay26_z" />
+<position name="ecal_lay27_pos" z="ecal_lay27_z" />
+<position name="ecal_lay28_pos" z="ecal_lay28_z" />
+<position name="ecal_lay29_pos" z="ecal_lay29_z" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
ecal_solids.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/ecal_solids.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/ecal_solids.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,13 @@
+<!-- ecal_solids.inc, ecal solids -->
+<!-- ecal box -->
+<box name="EcalBox" x="ecal_x" y="ecal_y" z="ecal_z" />
+
+<!-- ecal layer box -->
+<box name="EcalLayerBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_layer_z" />
+
+<!-- ecal slice boxes -->
+<box name="EcalWBox"   x="ecal_layer_x" y="ecal_layer_y" z="ecal_w_thickness" />
+<box name="EcalG10Box" x="ecal_layer_x" y="ecal_layer_y" z="ecal_g10_thickness" />
+<box name="EcalSiBox"  x="ecal_layer_x" y="ecal_layer_y" z="ecal_si_thickness" />
+<box name="EcalCuBox"  x="ecal_layer_x" y="ecal_layer_y" z="ecal_cu_thickness" />
+<box name="EcalAirBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_air_thickness" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
ecal_structure.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/ecal_structure.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/ecal_structure.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,267 @@
+<!-- ecal_structure.inc, ecal structure -->
+<!-- ecal slices -->
+<volume name="EcalW">	
+  <materialref ref="Tungsten" />
+  <solidref ref="EcalWBox" />
+  <visref ref="EcalVis" />
+</volume>
+
+<volume name="EcalG10">	
+  <materialref ref="G10" />
+  <solidref ref="EcalG10Box" />
+  <visref ref="EcalVis" />
+</volume>
+
+<volume name="EcalSi">	
+  <materialref ref="Silicon" />
+  <solidref ref="EcalSiBox" />
+  <sdref ref="ECSD" />
+  <visref ref="EcalVis" />
+</volume>
+
+<volume name="EcalCu">	
+  <materialref ref="Copper" />
+  <solidref ref="EcalCuBox" />
+  <visref ref="EcalVis" />
+</volume>
+
+<volume name="EcalAir">	
+  <materialref ref="Air" />
+  <solidref ref="EcalAirBox" />
+  <visref ref="EcalVis" />
+</volume>
+
+<!-- single ecal layer -->
+<volume name="EcalLayer">
+  <materialref ref="Air" />
+  <solidref ref="EcalLayerBox" />
+
+  <physvol>
+    <volumeref ref="EcalW" />
+    <positionref ref="ecal_w_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalG10" />
+    <positionref ref="ecal_g10_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalSi" />
+    <positionref ref="ecal_si_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalCu" />
+    <positionref ref="ecal_cu_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalAir" />
+    <positionref ref="ecal_air_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="EcalVis" />
+
+</volume>
+
+<!-- ecal layer positions -->
+<volume name="Ecal">
+
+  <materialref ref="Air" />
+  <solidref ref="EcalBox" />
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay0_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay1_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay2_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay3_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay4_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay4_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay5_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay6_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay7_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay8_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay9_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay10_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay11_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay12_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay13_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay14_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay15_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay16_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay17_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay18_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay19_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay20_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay21_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay22_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay23_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay24_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay25_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay26_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay27_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay28_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="EcalLayer" />
+    <positionref ref="ecal_lay29_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="EcalVis" />
+
+</volume>
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
global_constants.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/global_constants.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/global_constants.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,22 @@
+<!-- global_constants.inc, global constants -->
+<!-- center pos and id rot -->
+<position name="center" />
+<rotation name="identity" />
+
+<!-- world side -->
+<constant name="world_side" value="10000.0*mm" />
+
+<!-- config angles -->
+<constant name="config_angle_0" value="0.0*deg" />
+<constant name="config_angle_20" value="20.0*deg" />
+<constant name="config_angle_32" value="32.0*deg" />
+<constant name="config_angle_40" value="40.0*deg" />
+
+<constant name="current_config_angle" value="config_angle_0" />
+
+<!-- def grid -->
+<constant name="def_grid_x" value="1.0*cm" />
+<constant name="def_grid_y" value="1.0*cm" />
+
+
+		
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
global_materials.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/global_materials.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/global_materials.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,196 @@
+<!-- 
+     global_materials.inc
+     global materials 
+-->
+
+<!--
+    Material and elements definitions from 
+    Mokka CGA, TB03 hcal/ecal, R. Poeschl (most reference URLs) and J. McCormick.
+-->
+
+<element name="Bromine_e" formula="Br" Z="35.">
+  <atom value="79.905"/>
+</element>
+
+<element name="Copper_e" formula="Cu" Z="29.">
+  <atom value="63.546" />
+</element>
+
+<element name="Carbon_e" formula="C" Z="6.">
+  <atom value="12.01" />
+</element>
+
+<element name="Chlorine_e" formula="Cl" Z="17.">
+  <atom value="35.45" />
+</element>
+
+<element name="Hydrogen_e" formula="H" Z="1.">
+  <atom value="1.01" />
+</element>
+
+<element name="Iron_e" formula="Fe" Z="26.">
+  <atom value="55.85" />
+</element>
+
+<element name="Nitrogen_e" formula="N" Z="7.">
+  <atom value="14.01" />
+</element>
+
+<element name="Oxygen_e" formula="O" Z="8.">
+  <atom value="16.0" />
+</element>
+
+<element name="Silicon_e" formula="Si" Z="14.">
+  <atom value="28.09" />
+</element>
+
+<element name="Tungsten_e" formula="W" Z="74.">
+  <atom value="183.84" />
+</element>
+
+<!--materials-->
+<!-- 
+     Air: 70% N, 30% O 
+-->
+<material name="Air">
+  <D value="1.290" unit="mg/cm3" />
+  <fraction n="0.7" ref="Nitrogen_e" />
+  <fraction n="0.3" ref="Oxygen_e" />
+</material>
+
+<!-- 
+     Copper for Ecal.
+-->
+<material name="Copper">
+  <D value="8.96" unit="g/cm3"/>
+  <composite n="1" ref="Copper_e"/>
+</material>
+
+<!-- 
+     Quartz for G10 
+-->
+<material name="Quartz">
+  <D value="2.2" unit="g/cm3"/>
+  <composite n="1" ref="Silicon_e"/>
+  <composite n="2" ref="Oxygen_e"/>
+</material>
+
+<!--
+    Epoxy for G10.
+-->
+<material name="Epoxy">
+  <D value="1.3" unit="g/cm3"/>
+  <composite n="44" ref="Hydrogen_e"/>
+  <composite n="15" ref="Carbon_e"/>
+  <composite n="7" ref="Oxygen_e"/>
+</material>
+
+<!-- 
+     G10 for Ecal.
+-->
+<material name="G10">
+  <D value="1.7" unit="g/cm3" />
+  <fraction n="0.08" ref="Chlorine_e" />
+  <fraction n="0.773" ref="Quartz" />
+  <fraction n="0.147" ref="Epoxy" />
+</material>
+
+<!--
+    Steel235 for the HCal absorber.
+    
+    reference: http://n.ethz.ch/student/zwickers/ download/fs_pe_grundlagen_cyrill.pdf 
+-->
+<material name="Steel235">
+  <D value="7.85" unit="g/cm3" />
+  <fraction n="0.998" ref="Iron_e" />
+  <fraction n=".002" ref="Carbon_e" />
+</material>
+
+<!-- 
+     Polyethylene (aka Tyvek) for the Tail Catcher.
+     
+     reference: http://www.encyclopedia.com/html/p1/polyethy.asp
+     reference: http://www.boedeker.com/polye_p.htm
+     
+     Approximation only. (get spec sheet from V. Zutshi @ NICADD)
+-->
+<material name="Polyethylene" >
+  <D value="0.92" unit="g/cm3" />
+  <composite n="2" ref="Carbon_e" />
+  <composite n="4" ref="Hydrogen_e" />
+</material>
+
+<!-- 
+     Polystyrene ("generic") from Mokka for scint. HCal and Catcher.
+     
+     reference: http://cmsdoc.cern.ch/cmsim/manual/cms116/node228.html 
+     
+     Used for both hcal and catcher.
+-->
+<material name="Polystyrene">
+  <D value="1.032" unit="g/cm3" />
+  <composite n="19" ref="Carbon_e"/>
+  <composite n="21" ref="Hydrogen_e" />
+</material>
+
+<!--
+    Polystyrole.
+-->
+<material name="Polystyrole">
+  <D value="1.065" unit="g/cm3" />
+  <composite n="8" ref="Hydrogen_e" />
+  <composite n="8" ref="Carbon_e" />
+</material>
+
+<!-- 
+     PVC for cablefibre mix.
+     
+     reference: http://www.elpac.de/Kunststoffkleinteile/Kleines_Kunststoff-Know-_How/PVC-P/pvc-p.html 
+-->
+<material name="PVC">
+  <D value="1.35" unit="g/cm3" />
+  <composite n="3" ref="Hydrogen_e" />
+  <composite n="2" ref="Carbon_e" />
+  <composite n="1" ref="Chlorine_e"/>
+</material>
+
+<!--
+    PCB for circuit board.
+-->
+<material name="PCBFR4">
+  <D value="1.25" unit="g/cm3" />
+  <fraction n="0.180774" ref="Silicon_e"/>
+  <fraction n="0.405633" ref="Oxygen_e" />
+  <fraction n="0.278042" ref="Carbon_e" />
+  <fraction n="0.0684428" ref="Hydrogen_e" />
+  <fraction n="0.0671091" ref="Bromine_e" />
+
+</material>
+
+<!-- 
+     Silicon for ECal active layer.
+-->
+<material name="Silicon">
+  <D value="2.33" unit="g/cm3" />
+  <composite n="1" ref="Silicon_e" />
+</material>
+
+<!--
+    Tungsten for Ecal absorber.
+-->
+<material name="Tungsten">
+  <D value="19.3" unit="g/cm3"/>
+  <composite n="1" ref="Tungsten_e" />
+</material>
+
+<!-- 
+     Cablefibre mix.
+-->
+<material name="CablefibreMix">
+  <D value="0.120" unit="g/cm3"/>
+  <fraction n="0.009" ref="Air" />
+  <fraction n="0.872" ref="PVC" />
+  <fraction n="0.119" ref="Polystyrole" />
+</material>
+
+

projects/lcdd/trunk/examples/old/tbeam
global_solids.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/global_solids.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/global_solids.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,3 @@
+<!-- global solids, global_solids.inc -->
+<!-- world -->
+<box name="WorldBox" x="world_side" y="world_side" z="world_side" />

projects/lcdd/trunk/examples/old/tbeam
global_structure.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/global_structure.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/global_structure.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,16 @@
+<!-- global_structure.inc, global structure -->
+<!-- world -->
+<volume name="World">
+  <materialref ref="Air"/>
+  <solidref ref="WorldBox"/>  
+  
+  <!-- detector -->
+  <physvol>
+    <volumeref ref="DetectorEnvelope" />
+    <positionref ref="center" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="InvisibleVis" />
+
+</volume>
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
hcal_constants.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/hcal_constants.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/hcal_constants.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,140 @@
+<!-- hcal_constants.inc, hcal constants -->
+
+<!-- hcal slice thicknesses -->
+<constant name="hcal_poly_thickness" value="5.0*mm" />
+<constant name="hcal_steel_thickness" value="16.0*mm" />
+<constant name="hcal_air_thickness" value="1.0*mm" />
+<constant name="hcal_steel_cassette_thickness" value="2.0*mm" />
+<constant name="hcal_foil_thickness" value="0.115*mm" />
+<constant name="hcal_pcb_thickness" value="1.0*mm" />
+<constant name="hcal_cablefibre_thickness" value="1.5*mm" />
+
+<!-- hcal layer thickness -->
+<constant name="hcal_layer_thickness" value="hcal_poly_thickness + 
+                                             hcal_steel_thickness + 
+                                             hcal_air_thickness +  
+                                             hcal_steel_cassette_thickness + 
+                                             hcal_foil_thickness + 
+                                             hcal_pcb_thickness + 
+                                             hcal_cablefibre_thickness" />
+
+<constant name="hcal_layer_half_thickness" value="hcal_layer_thickness/2" />
+
+<!-- hcal layer box dims -->
+<constant name="hcal_layer_x" value="1.0*m" />
+<constant name="hcal_layer_y" value="1.0*m" />
+<constant name="hcal_layer_z" value="hcal_layer_thickness" />
+
+<!-- hcal number of layers 
+     must match the layJ#_z, lay#_pos given below
+-->
+<constant name="hcal_num_layers" value="39" />
+
+<!-- hcal dims -->
+<constant name="hcal_x" value="hcal_layer_x" />
+<constant name="hcal_y" value="hcal_layer_y" />
+<constant name="hcal_z" value="hcal_num_layers * hcal_layer_thickness" />
+<constant name="hcal_half_z" value="hcal_z/2" />
+
+<!-- hcal slice z in layer -->
+<constant name="hcal_poly_z"           value="-hcal_layer_half_thickness + hcal_poly_thickness/2" />
+<constant name="hcal_steel_z"          value="hcal_poly_z + hcal_poly_thickness/2 + hcal_steel_thickness/2" />
+<constant name="hcal_air_z"            value="hcal_steel_z + hcal_steel_thickness/2 + hcal_air_thickness/2" />
+<constant name="hcal_steel_cassette_z" value="hcal_air_z + hcal_air_thickness/2 + hcal_steel_cassette_thickness/2" />
+<constant name="hcal_foil_z"           value="hcal_steel_cassette_z + hcal_steel_cassette_thickness/2 + hcal_foil_thickness/2" />
+<constant name="hcal_pcb_z"            value="hcal_foil_z + hcal_foil_thickness/2 + hcal_pcb_thickness/2" />
+<constant name="hcal_cablefibre_z"     value="hcal_pcb_z + hcal_pcb_thickness/2 + hcal_cablefibre_thickness/2" />
+
+<!-- hcal slice rel pos in layer -->
+<position name="hcal_poly_pos"           z="hcal_poly_z" />
+<position name="hcal_steel_pos"          z="hcal_steel_z" />
+<position name="hcal_air_pos"            z="hcal_air_z" />
+<position name="hcal_steel_cassette_pos" z="hcal_steel_cassette_z" />
+<position name="hcal_foil_pos"           z="hcal_foil_z" />
+<position name="hcal_pcb_pos"            z="hcal_pcb_z" />
+<position name="hcal_cablefibre_pos"     z="hcal_cablefibre_z" />
+
+<!-- hcal pos -->
+<constant name="hcal_gap_z" value="10.*cm" />
+
+<!-- hcal layer z values -->
+<constant name="hcal_lay0_z" value="-hcal_half_z + hcal_layer_half_thickness" />
+<constant name="hcal_lay1_z" value="hcal_lay0_z + hcal_layer_thickness" />
+<constant name="hcal_lay2_z" value="hcal_lay1_z + hcal_layer_thickness" />
+<constant name="hcal_lay3_z" value="hcal_lay2_z + hcal_layer_thickness" />
+<constant name="hcal_lay4_z" value="hcal_lay3_z + hcal_layer_thickness" />
+<constant name="hcal_lay5_z" value="hcal_lay4_z + hcal_layer_thickness" />
+<constant name="hcal_lay6_z" value="hcal_lay5_z + hcal_layer_thickness" />
+<constant name="hcal_lay7_z" value="hcal_lay6_z + hcal_layer_thickness" />
+<constant name="hcal_lay8_z" value="hcal_lay7_z + hcal_layer_thickness" />
+<constant name="hcal_lay9_z" value="hcal_lay8_z + hcal_layer_thickness" />
+<constant name="hcal_lay10_z" value="hcal_lay9_z + hcal_layer_thickness" />
+<constant name="hcal_lay11_z" value="hcal_lay10_z + hcal_layer_thickness" />
+<constant name="hcal_lay12_z" value="hcal_lay11_z + hcal_layer_thickness" />
+<constant name="hcal_lay13_z" value="hcal_lay12_z + hcal_layer_thickness" />
+<constant name="hcal_lay14_z" value="hcal_lay13_z + hcal_layer_thickness" />
+<constant name="hcal_lay15_z" value="hcal_lay14_z + hcal_layer_thickness" />
+<constant name="hcal_lay16_z" value="hcal_lay15_z + hcal_layer_thickness" />
+<constant name="hcal_lay17_z" value="hcal_lay16_z + hcal_layer_thickness" />
+<constant name="hcal_lay18_z" value="hcal_lay17_z + hcal_layer_thickness" />
+<constant name="hcal_lay19_z" value="hcal_lay18_z + hcal_layer_thickness" />
+<constant name="hcal_lay20_z" value="hcal_lay19_z + hcal_layer_thickness" />
+<constant name="hcal_lay21_z" value="hcal_lay20_z + hcal_layer_thickness" />
+<constant name="hcal_lay22_z" value="hcal_lay21_z + hcal_layer_thickness" />
+<constant name="hcal_lay23_z" value="hcal_lay22_z + hcal_layer_thickness" />
+<constant name="hcal_lay24_z" value="hcal_lay23_z + hcal_layer_thickness" />
+<constant name="hcal_lay25_z" value="hcal_lay24_z + hcal_layer_thickness" />
+<constant name="hcal_lay26_z" value="hcal_lay25_z + hcal_layer_thickness" />
+<constant name="hcal_lay27_z" value="hcal_lay26_z + hcal_layer_thickness" />
+<constant name="hcal_lay28_z" value="hcal_lay27_z + hcal_layer_thickness" />
+<constant name="hcal_lay29_z" value="hcal_lay28_z + hcal_layer_thickness" />
+<constant name="hcal_lay30_z" value="hcal_lay29_z + hcal_layer_thickness" />
+<constant name="hcal_lay31_z" value="hcal_lay30_z + hcal_layer_thickness" />
+<constant name="hcal_lay32_z" value="hcal_lay31_z + hcal_layer_thickness" />
+<constant name="hcal_lay33_z" value="hcal_lay32_z + hcal_layer_thickness" />
+<constant name="hcal_lay34_z" value="hcal_lay33_z + hcal_layer_thickness" />
+<constant name="hcal_lay35_z" value="hcal_lay34_z + hcal_layer_thickness" />
+<constant name="hcal_lay36_z" value="hcal_lay35_z + hcal_layer_thickness" />
+<constant name="hcal_lay37_z" value="hcal_lay36_z + hcal_layer_thickness" />
+<constant name="hcal_lay38_z" value="hcal_lay37_z + hcal_layer_thickness" />
+
+<!-- hcal layer positions -->
+<position name="hcal_lay0_pos" z="hcal_lay0_z" />
+<position name="hcal_lay1_pos" z="hcal_lay1_z" />
+<position name="hcal_lay2_pos" z="hcal_lay2_z" />
+<position name="hcal_lay3_pos" z="hcal_lay3_z" />
+<position name="hcal_lay4_pos" z="hcal_lay4_z" />
+<position name="hcal_lay5_pos" z="hcal_lay5_z" />
+<position name="hcal_lay6_pos" z="hcal_lay6_z" />
+<position name="hcal_lay7_pos" z="hcal_lay7_z" />
+<position name="hcal_lay8_pos" z="hcal_lay8_z" />
+<position name="hcal_lay9_pos" z="hcal_lay9_z" />
+<position name="hcal_lay10_pos" z="hcal_lay10_z" />
+<position name="hcal_lay11_pos" z="hcal_lay11_z" />
+<position name="hcal_lay12_pos" z="hcal_lay12_z" />
+<position name="hcal_lay13_pos" z="hcal_lay13_z" />
+<position name="hcal_lay14_pos" z="hcal_lay14_z" />
+<position name="hcal_lay15_pos" z="hcal_lay15_z" />
+<position name="hcal_lay16_pos" z="hcal_lay16_z" />
+<position name="hcal_lay17_pos" z="hcal_lay17_z" />
+<position name="hcal_lay18_pos" z="hcal_lay18_z" />
+<position name="hcal_lay19_pos" z="hcal_lay19_z" />
+<position name="hcal_lay20_pos" z="hcal_lay20_z" />
+<position name="hcal_lay21_pos" z="hcal_lay21_z" />
+<position name="hcal_lay22_pos" z="hcal_lay22_z" />
+<position name="hcal_lay23_pos" z="hcal_lay23_z" />
+<position name="hcal_lay24_pos" z="hcal_lay24_z" />
+<position name="hcal_lay25_pos" z="hcal_lay25_z" />
+<position name="hcal_lay26_pos" z="hcal_lay26_z" />
+<position name="hcal_lay27_pos" z="hcal_lay27_z" />
+<position name="hcal_lay28_pos" z="hcal_lay28_z" />
+<position name="hcal_lay29_pos" z="hcal_lay29_z" />
+<position name="hcal_lay30_pos" z="hcal_lay30_z" />
+<position name="hcal_lay31_pos" z="hcal_lay31_z" />
+<position name="hcal_lay32_pos" z="hcal_lay32_z" />
+<position name="hcal_lay33_pos" z="hcal_lay33_z" />
+<position name="hcal_lay34_pos" z="hcal_lay34_z" />
+<position name="hcal_lay35_pos" z="hcal_lay35_z" />
+<position name="hcal_lay36_pos" z="hcal_lay36_z" />
+<position name="hcal_lay37_pos" z="hcal_lay37_z" />
+<position name="hcal_lay38_pos" z="hcal_lay38_z" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
hcal_solids.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/hcal_solids.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/hcal_solids.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,15 @@
+<!-- hcal_solids.inc, hcal solids -->
+<!-- hcal box -->
+<box name="HcalBox" x="hcal_x" y="hcal_y" z="hcal_z" />
+
+<!-- hcal layer box -->
+<box name="hcal_layerBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_layer_z" />
+
+<!-- hcal slice boxes -->
+<box name="PolyBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_poly_thickness" />
+<box name="SteelBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_steel_thickness" />
+<box name="AirBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_air_thickness" />
+<box name="SteelCassetteBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_steel_cassette_thickness" />
+<box name="FoilBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_foil_thickness" />
+<box name="PcbBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_pcb_thickness" />
+<box name="CablefibreBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_cablefibre_thickness" />
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
hcal_structure.inc.xml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/hcal_structure.inc.xml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/hcal_structure.inc.xml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,345 @@
+<!-- hcal_structure.inc, hcal structure -->
+
+<!-- hcal slices -->
+<volume name="Poly">	
+  <materialref ref="Polystyrene" />
+  <solidref ref="PolyBox" />
+  <sdref ref="HCSD" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="Steel">
+  <materialref ref="Steel235" />
+  <solidref ref="SteelBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="AirGap">
+  <materialref ref="Air" />
+  <solidref ref="AirBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="SteelCassette">
+  <materialref ref="Steel235" />
+  <solidref ref="SteelCassetteBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="Foil">
+  <materialref ref="Air" />
+  <solidref ref="FoilBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="Pcb">
+  <materialref ref="PCBFR4" />
+  <solidref ref="PcbBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<volume name="Cablefibre">
+  <materialref ref="CablefibreMix" />
+  <solidref ref="CablefibreBox" />
+  <visref ref="HcalVis" />
+</volume>
+
+<!-- single hcal layer -->
+<volume name="HCal_Layer">
+  <materialref ref="Air" />
+  <solidref ref="hcal_layerBox" />
+
+  <physvol>
+    <volumeref ref="Poly" />
+    <positionref ref="hcal_poly_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="Steel" />
+    <positionref ref="hcal_steel_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="AirGap" />
+    <positionref ref="hcal_air_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="SteelCassette" />
+    <positionref ref="hcal_steel_cassette_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="Foil" />
+    <positionref ref="hcal_foil_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="Pcb" />
+    <positionref ref="hcal_pcb_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="Cablefibre" />
+    <positionref ref="hcal_cablefibre_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="HcalVis" />
+
+</volume>
+
+<!-- hcal layer positions -->
+<volume name="HCal">
+  <materialref ref="Air" />
+  <solidref ref="HcalBox" />
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay0_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay1_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay2_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay3_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay4_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay4_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay5_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay6_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay7_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay8_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay9_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay10_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay11_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay12_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay13_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay14_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay15_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay16_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay17_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay18_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay19_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay20_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay21_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay22_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay23_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay24_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay25_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay26_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay27_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay28_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay29_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay30_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay31_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay32_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay33_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay34_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay35_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay36_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay37_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <physvol>
+    <volumeref ref="HCal_Layer" />
+    <positionref ref="hcal_lay38_pos" />
+    <rotationref ref="identity" />
+  </physvol>
+
+  <visref ref="HcalVis" />
+
+</volume>
\ No newline at end of file

projects/lcdd/trunk/examples/old/tbeam
materials_exp.gdml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/materials_exp.gdml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/materials_exp.gdml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:noNamespaceSchemaLocation="/a/surrey01/vol/vol2/g.lcd.mc/prj/sw/extern/gdml/GDMLSchema/gdml_1.0.xsd">
+  <define>
+  </define>
+
+  <materials>
+
+    <!--
+	global material definitions
+    -->
+    <element name="Bromine" formula="Br" Z="35.">
+      <atom value="79.905"/>
+    </element>
+
+    <element name="Copper" formula="Cu" Z="29.">
+      <atom value="63.546" />
+    </element>
+
+    <element name="Carbon" formula="C" Z="6.">
+      <atom value="12.01" />
+    </element>
+
+    <element name="Chlorine" formula="Cl" Z="17.">
+      <atom value="35.45" />
+    </element>
+
+    <element name="Hydrogen" formula="H" Z="1.">
+      <atom value="1.01" />
+    </element>
+
+    <element name="Iron" formula="Fe" Z="26.">
+      <atom value="55.85" />
+    </element>
+
+    <element name="Nitrogen" formula="N" Z="7.">
+      <atom value="14.01" />
+    </element>
+
+    <element name="Oxygen" formula="O" Z="8.">
+      <atom value="16.0" />
+    </element>
+
+    <element name="Silicon" formula="Si" Z="14.">
+      <atom value="28.09" />
+    </element>
+
+    <element name="Tungsten" formula="W" Z="74.">
+      <atom value="183.84" />
+    </element>
+
+    <!--materials-->
+    <!-- 
+	 Air: 70% N, 30% O 
+    -->
+    <material name="Air">
+      <D value="1.290" unit="mg/cm3" />
+      <fraction n="0.7" ref="Nitrogen" />
+      <fraction n="0.3" ref="Oxygen" />
+    </material>
+
+    <!-- 
+	 Copper for Ecal 
+    -->
+    <material name="CopperEcal">
+      <D value="8.96" unit="g/cm3"/>
+      <composite n="1" ref="Copper"/>
+    </material>
+
+    <!-- 
+	 Quartz for G10 
+    -->
+    <material name="Quartz">
+      <D value="2.2" unit="g/cm3"/>
+      <composite n="1" ref="Silicon"/>
+      <composite n="2" ref="Oxygen"/>
+    </material>
+
+    <!--
+	Epoxy for G10.
+    -->
+    <material name="Epoxy">
+      <D value="1.3" unit="g/cm3"/>
+      <composite n="44" ref="Hydrogen"/>
+      <composite n="15" ref="Carbon"/>
+      <composite n="7" ref="Oxygen"/>
+    </material>
+
+    <!-- 
+	 G10 for Ecal.
+    -->
+    <material name="G10">
+      <D value="1.7" unit="g/cm3" />
+      <fraction n="0.08" ref="Chlorine" />
+      <fraction n="0.773" ref="Quartz" />
+      <fraction n="0.147" ref="Epoxy" />
+    </material>
+
+    <!--
+	Steel235 for the HCal absorber.
+	
+	reference: http://n.ethz.ch/student/zwickers/ download/fs_pe_grundlagen_cyrill.pdf 
+    -->
+    <material name="Steel235">
+      <D value="7.85" unit="g/cm3" />
+      <fraction n="0.998" ref="Iron" />
+      <fraction n=".002" ref="Carbon" />
+    </material>
+
+    <!-- 
+	 Polyethylene (aka Tyvek) for the Tail Catcher.
+	 
+	 reference: http://www.encyclopedia.com/html/p1/polyethy.asp
+	 reference: http://www.boedeker.com/polye_p.htm
+	 
+	 Approximation only. (get spec from V. Zutshi@NICADD)
+    -->
+    <material name="Polyethylene" >
+      <D value="0.92" unit="g/cm3" />
+      <composite n="2" ref="Carbon" />
+      <composite n="4" ref="Hydrogen" />
+    </material>
+
+    <!-- 
+	 Polystyrene ("generic") from Mokka for scint. HCal and Catcher.
+	 
+	 reference: http://cmsdoc.cern.ch/cmsim/manual/cms116/node228.html 
+    -->
+    <material name="Polystyrene">
+      <D value="1.032" unit="g/cm3" />
+      <composite n="19" ref="Carbon"/>
+      <composite n="21" ref="Hydrogen" />
+    </material>
+    
+    <!--
+	Polystyrole.
+    -->
+    <material name="Polystyrole">
+      <D value="1.065" unit="g/cm3" />
+      <composite n="8" ref="Hydrogen" />
+      <composite n="8" ref="Carbon" />
+    </material>
+
+    <!-- 
+	 PVC for cablefibre mix.
+	 
+	 reference: http://www.elpac.de/Kunststoffkleinteile/Kleines_Kunststoff-Know-_How/PVC-P/pvc-p.html 
+    -->
+    <material name="PVC">
+      <D value="1.35" unit="g/cm3" />
+      <composite n="3" ref="Hydrogen" />
+      <composite n="2" ref="Carbon" />
+      <composite n="1" ref="Chlorine"/>
+    </material>
+
+    <!--
+	PCB for circuit board.
+    -->
+    <material name="PCBFR4">
+      <D value="1.25" unit="g/cm3" />
+      <fraction n="0.180774" ref="Silicon"/>
+      <fraction n="0.405633" ref="Oxygen" />
+      <fraction n="0.278042" ref="Carbon" />
+      <fraction n="0.0684428" ref="Hydrogen" />
+      <fraction n="0.0671091" ref="Bromine" />
+
+    </material>
+
+    <!-- 
+	 Silicon for ECal active layer.
+    -->
+    <material name="SiliconEcal">
+      <D value="2.33" unit="g/cm3" />
+      <composite n="1" ref="Silicon" />
+    </material>
+
+    <!--
+	Tungsten for Ecal absorber.
+    -->
+    <material name="TungstenEcal">
+      <D value="19.3" unit="g/cm3"/>
+      <composite n="1" ref="Tungsten" />
+    </material>
+
+    <!-- 
+	 Cablefibre mix.
+    -->
+    <material name="CableFibreMix">
+      <D value="0.120" unit="g/cm3"/>
+      <fraction n="0.009" ref="Air" />
+      <fraction n="0.872" ref="PVC" />
+      <fraction n="0.119" ref="Polystyrole" />
+    </material>
+
+  </materials>
+
+  <solids>
+  </solids>
+
+  <structure>
+  </structure>
+
+  <setup name="Default" version="1.0">
+  </setup>
+</gdml>

projects/lcdd/trunk/examples/old/tbeam
single.sh added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/single.sh	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/single.sh	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,3 @@
+#!/bin/sh
+xml c14n < tb.gdml | xml fo -s 2 > tb_single.gdml
+wc -l tb_single.gdml

projects/lcdd/trunk/examples/old/tbeam
tb.gdml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/tb.gdml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/tb.gdml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Time-stamp: <2004-10-02 17:23:06 jeremym>
+
+Full GDML Description for LC Test Beam 1
+
+Hcal from R. Poeschl's implementation in Mokka: TB03.
+
+Ecal from last Mokka version: TB02.
+
+Catcher from V. Zutshi: TB04. (NEW)
+
+J. McCormick, SLAC 
[log in to unmask]
+-->
+
+<!DOCTYPE gdml [
+
+<!ENTITY global_constants  SYSTEM "global_constants.inc">
+<!ENTITY global_materials  SYSTEM "global_materials.inc">
+<!ENTITY global_solids     SYSTEM "global_solids.inc">
+<!ENTITY global_structure  SYSTEM "global_structure.inc">
+
+<!ENTITY hcal_constants    SYSTEM "hcal_constants.inc">
+<!ENTITY hcal_solids       SYSTEM "hcal_solids.inc">
+<!ENTITY hcal_structure    SYSTEM "hcal_structure.inc">
+
+<!ENTITY ecal_constants    SYSTEM "ecal_constants.inc">
+<!ENTITY ecal_solids       SYSTEM "ecal_solids.inc">
+<!ENTITY ecal_structure    SYSTEM "ecal_structure.inc">
+
+<!ENTITY catcher_constants SYSTEM "catcher_constants.inc">
+<!ENTITY catcher_solids    SYSTEM "catcher_solids.inc">
+<!ENTITY catcher_structure SYSTEM "catcher_structure.inc">
+]>
+
+<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:noNamespaceSchemaLocation="file:///a/surrey01/vol/vol2/g.lcd.mc/prj/sw/extern/gdml/GDMLSchema/gdml_1.0.xsd">
+
+  <!-- define -->
+  <define>
+    
+    &global_constants;    
+    &ecal_constants;
+    &hcal_constants;
+    &catcher_constants;
+
+  </define>
+
+  <!-- materials -->
+  <materials>
+
+    &global_materials;
+
+  </materials>
+
+  <!-- solids -->
+  <solids>
+
+    &global_solids;
+    &ecal_solids;
+    &hcal_solids;
+    &catcher_solids;
+
+  </solids>
+
+  <!-- structure -->
+  <structure>
+
+    &ecal_structure;
+    &hcal_structure;
+    &catcher_structure;
+    &global_structure;
+
+  </structure>
+
+  <!-- setup -->
+  <setup name="Default" version="1.0">
+    <world ref="World" />
+  </setup>
+
+</gdml>

projects/lcdd/trunk/examples/old/tbeam
tb.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/tb.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/tb.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Time-stamp: <2004-10-02 17:23:06 jeremym>
+
+Full GDML Description for LC Test Beam 1
+
+Hcal from R. Poeschl's implementation in Mokka: TB03.
+
+Ecal from last Mokka version: TB02.
+
+Catcher from V. Zutshi: TB04. (NEW)
+
+J. McCormick, SLAC 
[log in to unmask]
+-->
+
+<!DOCTYPE lcdd [
+
+<!ENTITY global_constants  SYSTEM "global_constants.inc.xml">
+<!ENTITY global_materials  SYSTEM "global_materials.inc.xml">
+<!ENTITY global_solids     SYSTEM "global_solids.inc.xml">
+<!ENTITY global_structure  SYSTEM "global_structure.inc.xml">
+
+<!ENTITY hcal_constants    SYSTEM "hcal_constants.inc.xml">
+<!ENTITY hcal_solids       SYSTEM "hcal_solids.inc.xml">
+<!ENTITY hcal_structure    SYSTEM "hcal_structure.inc.xml">
+
+<!ENTITY ecal_constants    SYSTEM "ecal_constants.inc.xml">
+<!ENTITY ecal_solids       SYSTEM "ecal_solids.inc.xml">
+<!ENTITY ecal_structure    SYSTEM "ecal_structure.inc.xml">
+
+<!ENTITY catcher_constants SYSTEM "catcher_constants.inc.xml">
+<!ENTITY catcher_solids    SYSTEM "catcher_solids.inc.xml">
+<!ENTITY catcher_structure SYSTEM "catcher_structure.inc.xml">
+
+<!ENTITY det_constants SYSTEM "det_constants.inc.xml">
+<!ENTITY det_solids SYSTEM "det_solids.inc.xml">
+<!ENTITY det_structure SYSTEM "det_structure.inc.xml">
+]>
+
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <header>
+
+    <detector name="TB03_lcdd"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Testbeam example with layerings based on Mokka's TB03, without level of Ecal detail.
+    </comment>
+
+  </header>
+
+  <iddict>
+  </iddict>
+
+  <sensitive_detectors>
+
+    <calorimeter name="HCSD"
+		 hits_collection="HCHits">
+      <grid_xyz grid_size_x="1.0"
+		grid_size_y="1.0"
+		grid_size_z="0.0"
+		lunit="mm" 
+		/>
+    </calorimeter>
+
+    <calorimeter name="ECSD"
+		 hits_collection="ECHits">
+      <grid_xyz grid_size_x="1.0"
+		grid_size_y="1.0"
+		grid_size_z="0.0"
+		lunit="mm" 
+		/>
+    </calorimeter>
+
+    <calorimeter name="TCSD"
+		 hits_collection="TCHits">
+      <grid_xyz grid_size_x="5.0"
+		grid_size_y="5.0"
+		grid_size_z="0.0"
+		lunit="mm" 
+		/>
+    </calorimeter>
+
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>
+    <region name="DetectorRegion"
+	    store_secondaries="true"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="1.0"
+	    eunit="MeV" />
+
+  </regions>
+
+  <display>
+
+    <vis name="InvisibleVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="EcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="0.5"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="HcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.75"
+	     G="0.5"
+	     B="0.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="CatcherVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.5"
+	     G="0.5"
+	     B="0.75"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <!-- define -->
+    <define>
+      
+      &global_constants;    
+      &ecal_constants;
+      &hcal_constants;
+      &catcher_constants;
+      &det_constants;
+    </define>
+
+    <!-- materials -->
+    <materials>
+
+      &global_materials;
+
+    </materials>
+
+    <!-- solids -->
+    <solids>
+
+      &global_solids;
+      &ecal_solids;
+      &hcal_solids;
+      &catcher_solids;
+      &det_solids;
+
+    </solids>
+
+    <!-- structure -->
+    <structure>
+
+      &ecal_structure;
+      &hcal_structure;
+      &catcher_structure;
+      &det_structure;
+      &global_structure;
+
+    </structure>
+
+    <!-- setup -->
+    <setup name="Default" version="1.0">
+      <world ref="World" />
+    </setup>
+
+  </gdml>
+
+  <fields>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/tbeam
tb_single.gdml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/tb_single.gdml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/tb_single.gdml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,1288 @@
+<?xml version="1.0"?>
+<!-- 
+Time-stamp: <2004-10-02 17:23:06 jeremym>
+
+Full GDML Description for LC Test Beam 1
+
+Hcal from R. Poeschl's implementation in Mokka: TB03.
+
+Ecal from last Mokka version: TB02.
+
+Catcher from V. Zutshi: TB04. (NEW)
+
+J. McCormick, SLAC 
[log in to unmask]
+-->
+<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///a/surrey01/vol/vol2/g.lcd.mc/prj/sw/extern/gdml/GDMLSchema/gdml_1.0.xsd">
+<!-- define -->
+  <define>
+<!-- global_constants.inc, global constants -->
+<!-- center pos and id rot -->
+    <position name="center"/>
+    <rotation name="identity"/>
+<!-- world side -->
+    <constant name="world_side" value="10000.0*mm"/>
+<!-- config angles -->
+    <constant name="config_angle_0" value="0.0*deg"/>
+    <constant name="config_angle_20" value="20.0*deg"/>
+    <constant name="config_angle_32" value="32.0*deg"/>
+    <constant name="config_angle_40" value="40.0*deg"/>
+    <constant name="current_config_angle" value="config_angle_0"/>
+<!-- def grid -->
+    <constant name="def_grid_x" value="1.0*cm"/>
+    <constant name="def_grid_y" value="1.0*cm"/>
+<!-- ecal_constants.inc, ecal constants -->
+<!-- ecal slice thicknesses -->
+    <constant name="ecal_w_thickness" value="2.5*mm"/>
+    <constant name="ecal_g10_thickness" value="0.5*mm"/>
+    <constant name="ecal_si_thickness" value="0.4*mm"/>
+    <constant name="ecal_cu_thickness" value="1.0*mm"/>
+    <constant name="ecal_air_thickness" value="0.6*mm"/>
+<!-- ecal layer thickness -->
+    <constant name="ecal_layer_thickness" value="ecal_w_thickness +             ecal_g10_thickness +           ecal_si_thickness +           ecal_cu_thickness +           ecal_air_thickness"/>
+    <constant name="ecal_layer_half_thickness" value="ecal_layer_thickness/2"/>
+<!-- ecal layer box dims -->
+    <constant name="ecal_layer_x" value="18.0*cm"/>
+    <constant name="ecal_layer_y" value="18.0*cm"/>
+    <constant name="ecal_layer_z" value="ecal_layer_thickness"/>
+<!-- ecal number of layers 
+     must match the layJ#_z, lay#_pos given below
+-->
+    <constant name="ecal_num_layers" value="30"/>
+<!-- ecal dims -->
+    <constant name="ecal_x" value="ecal_layer_x"/>
+    <constant name="ecal_y" value="ecal_layer_y"/>
+    <constant name="ecal_z" value="ecal_num_layers * ecal_layer_thickness"/>
+    <constant name="ecal_half_z" value="ecal_z/2"/>
+<!-- ecal slice z in layer -->
+    <constant name="ecal_w_z" value="ecal_layer_half_thickness - ecal_w_thickness/2"/>
+    <constant name="ecal_g10_z" value="ecal_w_z - ecal_w_thickness/2 - ecal_g10_thickness/2"/>
+    <constant name="ecal_si_z" value="ecal_g10_z - ecal_g10_thickness/2 - ecal_si_thickness/2"/>
+    <constant name="ecal_cu_z" value="ecal_si_z - ecal_si_thickness/2 - ecal_cu_thickness/2"/>
+    <constant name="ecal_air_z" value="ecal_cu_z - ecal_cu_thickness/2 - ecal_air_thickness/2"/>
+<!-- ecal pos -->
+    <position name="ecal_pos" z="ecal_half_z"/>
+<!-- ecal slice rel pos in layer -->
+    <position name="ecal_w_pos" z="ecal_w_z"/>
+    <position name="ecal_g10_pos" z="ecal_g10_z"/>
+    <position name="ecal_si_pos" z="ecal_si_z"/>
+    <position name="ecal_cu_pos" z="ecal_cu_z"/>
+    <position name="ecal_air_pos" z="ecal_air_z"/>
+<!-- ecal layer z values -->
+    <constant name="ecal_lay0_z" value="ecal_z/2 - ecal_layer_half_thickness"/>
+    <constant name="ecal_lay1_z" value="ecal_lay0_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay2_z" value="ecal_lay1_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay3_z" value="ecal_lay2_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay4_z" value="ecal_lay3_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay5_z" value="ecal_lay4_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay6_z" value="ecal_lay5_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay7_z" value="ecal_lay6_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay8_z" value="ecal_lay7_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay9_z" value="ecal_lay8_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay10_z" value="ecal_lay9_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay11_z" value="ecal_lay10_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay12_z" value="ecal_lay11_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay13_z" value="ecal_lay12_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay14_z" value="ecal_lay13_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay15_z" value="ecal_lay14_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay16_z" value="ecal_lay15_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay17_z" value="ecal_lay16_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay18_z" value="ecal_lay17_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay19_z" value="ecal_lay18_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay20_z" value="ecal_lay19_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay21_z" value="ecal_lay20_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay22_z" value="ecal_lay21_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay23_z" value="ecal_lay22_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay24_z" value="ecal_lay23_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay25_z" value="ecal_lay24_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay26_z" value="ecal_lay25_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay27_z" value="ecal_lay26_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay28_z" value="ecal_lay27_z - ecal_layer_thickness"/>
+    <constant name="ecal_lay29_z" value="ecal_lay28_z - ecal_layer_thickness"/>
+<!-- ecal layer positions -->
+    <position name="ecal_lay0_pos" z="ecal_lay0_z"/>
+    <position name="ecal_lay1_pos" z="ecal_lay1_z"/>
+    <position name="ecal_lay2_pos" z="ecal_lay2_z"/>
+    <position name="ecal_lay3_pos" z="ecal_lay3_z"/>
+    <position name="ecal_lay4_pos" z="ecal_lay4_z"/>
+    <position name="ecal_lay5_pos" z="ecal_lay5_z"/>
+    <position name="ecal_lay6_pos" z="ecal_lay6_z"/>
+    <position name="ecal_lay7_pos" z="ecal_lay7_z"/>
+    <position name="ecal_lay8_pos" z="ecal_lay8_z"/>
+    <position name="ecal_lay9_pos" z="ecal_lay9_z"/>
+    <position name="ecal_lay10_pos" z="ecal_lay10_z"/>
+    <position name="ecal_lay11_pos" z="ecal_lay11_z"/>
+    <position name="ecal_lay12_pos" z="ecal_lay12_z"/>
+    <position name="ecal_lay13_pos" z="ecal_lay13_z"/>
+    <position name="ecal_lay14_pos" z="ecal_lay14_z"/>
+    <position name="ecal_lay15_pos" z="ecal_lay15_z"/>
+    <position name="ecal_lay16_pos" z="ecal_lay16_z"/>
+    <position name="ecal_lay17_pos" z="ecal_lay17_z"/>
+    <position name="ecal_lay18_pos" z="ecal_lay18_z"/>
+    <position name="ecal_lay19_pos" z="ecal_lay19_z"/>
+    <position name="ecal_lay20_pos" z="ecal_lay20_z"/>
+    <position name="ecal_lay21_pos" z="ecal_lay21_z"/>
+    <position name="ecal_lay22_pos" z="ecal_lay22_z"/>
+    <position name="ecal_lay23_pos" z="ecal_lay23_z"/>
+    <position name="ecal_lay24_pos" z="ecal_lay24_z"/>
+    <position name="ecal_lay25_pos" z="ecal_lay25_z"/>
+    <position name="ecal_lay26_pos" z="ecal_lay26_z"/>
+    <position name="ecal_lay27_pos" z="ecal_lay27_z"/>
+    <position name="ecal_lay28_pos" z="ecal_lay28_z"/>
+    <position name="ecal_lay29_pos" z="ecal_lay29_z"/>
+<!-- hcal_constants.inc, hcal constants -->
+<!-- hcal slice thicknesses -->
+    <constant name="hcal_poly_thickness" value="5.0*mm"/>
+    <constant name="hcal_steel_thickness" value="16.0*mm"/>
+    <constant name="hcal_air_thickness" value="1.0*mm"/>
+    <constant name="hcal_steel_cassette_thickness" value="2.0*mm"/>
+    <constant name="hcal_foil_thickness" value="0.115*mm"/>
+    <constant name="hcal_pcb_thickness" value="1.0*mm"/>
+    <constant name="hcal_cablefibre_thickness" value="1.5*mm"/>
+<!-- hcal layer thickness -->
+    <constant name="hcal_layer_thickness" value="hcal_poly_thickness + hcal_steel_thickness + hcal_air_thickness + hcal_steel_cassette_thickness + hcal_foil_thickness + hcal_pcb_thickness + hcal_cablefibre_thickness"/>
+    <constant name="hcal_layer_half_thickness" value="hcal_layer_thickness/2"/>
+<!-- hcal layer box dims -->
+    <constant name="hcal_layer_x" value="1.0*m"/>
+    <constant name="hcal_layer_y" value="1.0*m"/>
+    <constant name="hcal_layer_z" value="hcal_layer_thickness"/>
+<!-- hcal number of layers 
+     must match the layJ#_z, lay#_pos given below
+-->
+    <constant name="hcal_num_layers" value="39"/>
+<!-- hcal dims -->
+    <constant name="hcal_x" value="hcal_layer_x"/>
+    <constant name="hcal_y" value="hcal_layer_y"/>
+    <constant name="hcal_z" value="hcal_num_layers * hcal_layer_thickness"/>
+    <constant name="hcal_half_z" value="hcal_z/2"/>
+<!-- hcal slice z in layer -->
+    <constant name="hcal_poly_z" value="hcal_layer_half_thickness - hcal_poly_thickness/2"/>
+    <constant name="hcal_steel_z" value="hcal_poly_z - hcal_poly_thickness/2 - hcal_steel_thickness/2"/>
+    <constant name="hcal_air_z" value="hcal_steel_z - hcal_steel_thickness/2 - hcal_air_thickness/2"/>
+    <constant name="hcal_steel_cassette_z" value="hcal_air_z - hcal_air_thickness/2 - hcal_steel_cassette_thickness/2"/>
+    <constant name="hcal_foil_z" value="hcal_steel_cassette_z - hcal_steel_cassette_thickness/2 - hcal_foil_thickness/2"/>
+    <constant name="hcal_pcb_z" value="hcal_foil_z - hcal_foil_thickness/2 - hcal_pcb_thickness/2"/>
+    <constant name="hcal_cablefibre_z" value="hcal_pcb_z - hcal_pcb_thickness/2 - hcal_cablefibre_thickness/2"/>
+<!-- hcal slice rel pos in layer -->
+    <position name="hcal_poly_pos" z="hcal_poly_z"/>
+    <position name="hcal_steel_pos" z="hcal_steel_z"/>
+    <position name="hcal_air_pos" z="hcal_air_z"/>
+    <position name="hcal_steel_cassette_pos" z="hcal_steel_cassette_z"/>
+    <position name="hcal_foil_pos" z="hcal_foil_z"/>
+    <position name="hcal_pcb_pos" z="hcal_pcb_z"/>
+    <position name="hcal_cablefibre_pos" z="hcal_cablefibre_z"/>
+<!-- hcal pos -->
+    <constant name="hcal_gap_z" value="10.*cm"/>
+    <position name="hcal_pos" z="-hcal_half_z - hcal_gap_z"/>
+<!-- hcal layer z values -->
+    <constant name="hcal_lay0_z" value="hcal_half_z - hcal_layer_half_thickness"/>
+    <constant name="hcal_lay1_z" value="hcal_lay0_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay2_z" value="hcal_lay1_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay3_z" value="hcal_lay2_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay4_z" value="hcal_lay3_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay5_z" value="hcal_lay4_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay6_z" value="hcal_lay5_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay7_z" value="hcal_lay6_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay8_z" value="hcal_lay7_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay9_z" value="hcal_lay8_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay10_z" value="hcal_lay9_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay11_z" value="hcal_lay10_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay12_z" value="hcal_lay11_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay13_z" value="hcal_lay12_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay14_z" value="hcal_lay13_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay15_z" value="hcal_lay14_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay16_z" value="hcal_lay15_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay17_z" value="hcal_lay16_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay18_z" value="hcal_lay17_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay19_z" value="hcal_lay18_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay20_z" value="hcal_lay19_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay21_z" value="hcal_lay20_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay22_z" value="hcal_lay21_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay23_z" value="hcal_lay22_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay24_z" value="hcal_lay23_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay25_z" value="hcal_lay24_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay26_z" value="hcal_lay25_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay27_z" value="hcal_lay26_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay28_z" value="hcal_lay27_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay29_z" value="hcal_lay28_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay30_z" value="hcal_lay29_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay31_z" value="hcal_lay30_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay32_z" value="hcal_lay31_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay33_z" value="hcal_lay32_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay34_z" value="hcal_lay33_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay35_z" value="hcal_lay34_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay36_z" value="hcal_lay35_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay37_z" value="hcal_lay36_z - hcal_layer_thickness"/>
+    <constant name="hcal_lay38_z" value="hcal_lay37_z - hcal_layer_thickness"/>
+<!-- hcal layer positions -->
+    <position name="hcal_lay0_pos" z="hcal_lay0_z"/>
+    <position name="hcal_lay1_pos" z="hcal_lay1_z"/>
+    <position name="hcal_lay2_pos" z="hcal_lay2_z"/>
+    <position name="hcal_lay3_pos" z="hcal_lay3_z"/>
+    <position name="hcal_lay4_pos" z="hcal_lay4_z"/>
+    <position name="hcal_lay5_pos" z="hcal_lay5_z"/>
+    <position name="hcal_lay6_pos" z="hcal_lay6_z"/>
+    <position name="hcal_lay7_pos" z="hcal_lay7_z"/>
+    <position name="hcal_lay8_pos" z="hcal_lay8_z"/>
+    <position name="hcal_lay9_pos" z="hcal_lay9_z"/>
+    <position name="hcal_lay10_pos" z="hcal_lay10_z"/>
+    <position name="hcal_lay11_pos" z="hcal_lay11_z"/>
+    <position name="hcal_lay12_pos" z="hcal_lay12_z"/>
+    <position name="hcal_lay13_pos" z="hcal_lay13_z"/>
+    <position name="hcal_lay14_pos" z="hcal_lay14_z"/>
+    <position name="hcal_lay15_pos" z="hcal_lay15_z"/>
+    <position name="hcal_lay16_pos" z="hcal_lay16_z"/>
+    <position name="hcal_lay17_pos" z="hcal_lay17_z"/>
+    <position name="hcal_lay18_pos" z="hcal_lay18_z"/>
+    <position name="hcal_lay19_pos" z="hcal_lay19_z"/>
+    <position name="hcal_lay20_pos" z="hcal_lay20_z"/>
+    <position name="hcal_lay21_pos" z="hcal_lay21_z"/>
+    <position name="hcal_lay22_pos" z="hcal_lay22_z"/>
+    <position name="hcal_lay23_pos" z="hcal_lay23_z"/>
+    <position name="hcal_lay24_pos" z="hcal_lay24_z"/>
+    <position name="hcal_lay25_pos" z="hcal_lay25_z"/>
+    <position name="hcal_lay26_pos" z="hcal_lay26_z"/>
+    <position name="hcal_lay27_pos" z="hcal_lay27_z"/>
+    <position name="hcal_lay28_pos" z="hcal_lay28_z"/>
+    <position name="hcal_lay29_pos" z="hcal_lay29_z"/>
+    <position name="hcal_lay30_pos" z="hcal_lay30_z"/>
+    <position name="hcal_lay31_pos" z="hcal_lay31_z"/>
+    <position name="hcal_lay32_pos" z="hcal_lay32_z"/>
+    <position name="hcal_lay33_pos" z="hcal_lay33_z"/>
+    <position name="hcal_lay34_pos" z="hcal_lay34_z"/>
+    <position name="hcal_lay35_pos" z="hcal_lay35_z"/>
+    <position name="hcal_lay36_pos" z="hcal_lay36_z"/>
+    <position name="hcal_lay37_pos" z="hcal_lay37_z"/>
+    <position name="hcal_lay38_pos" z="hcal_lay38_z"/>
+<!-- catcher_constants.inc -->
+<!-- catcher slice thicknesses -->
+    <constant name="catcher_steel_front_thickness" value="1.0*mm"/>
+    <constant name="catcher_poly_front_thickness" value="1.0*mm"/>
+    <constant name="catcher_tyvek_front_thickness" value="0.25*mm"/>
+    <constant name="catcher_poly_active_thickness" value="5.0*mm"/>
+    <constant name="catcher_tyvek_back_thickness" value="0.25*mm"/>
+    <constant name="catcher_poly_back_thickness" value="1.0*mm"/>
+    <constant name="catcher_steel_back_thickness" value="1.0*mm"/>
+    <constant name="catcher_steel_abs_fine_thickness" value="19.2*mm"/>
+    <constant name="catcher_steel_abs_coarse_thickness" value="76.2*mm"/>
+<!-- catcher layer thickness -->
+    <constant name="catcher_layer_base_thickness" value="catcher_steel_front_thickness +            catcher_poly_front_thickness +            catcher_tyvek_front_thickness +            catcher_poly_active_thickness +            catcher_tyvek_back_thickness +            catcher_poly_back_thickness +            catcher_steel_back_thickness"/>
+    <constant name="catcher_layer_fine_thickness" value="catcher_layer_base_thickness +            catcher_steel_abs_fine_thickness"/>
+    <constant name="catcher_layer_coarse_thickness" value="catcher_layer_base_thickness +              catcher_steel_abs_coarse_thickness"/>
+<!-- catcher layer box dims -->
+    <constant name="catcher_layer_x" value="1.0*m"/>
+    <constant name="catcher_layer_y" value="1.0*m"/>
+    <constant name="catcher_layer_fine_z" value="catcher_layer_fine_thickness"/>
+    <constant name="catcher_layer_coarse_z" value="catcher_layer_coarse_thickness"/>
+<!-- catcher number of layers: must match the lay#_z, lay#_pos given below  -->
+    <constant name="catcher_num_fine_layers" value="8"/>
+    <constant name="catcher_num_coarse_layers" value="8"/>
+    <constant name="catcher_num_layers" value="catcher_num_fine_layers +         catcher_num_coarse_layers"/>
+<!-- catcher dims -->
+    <constant name="catcher_x" value="catcher_layer_x"/>
+    <constant name="catcher_y" value="catcher_layer_y"/>
+    <constant name="catcher_coarse_z" value="catcher_num_coarse_layers * catcher_layer_coarse_z"/>
+    <constant name="catcher_fine_z" value="catcher_num_fine_layers   * catcher_layer_fine_z"/>
+    <constant name="catcher_z" value="catcher_coarse_z + catcher_fine_z"/>
+<!-- catcher slice z in layer for module -->
+    <constant name="catcher_steel_front_z" value="catcher_layer_base_thickness/2 - catcher_steel_front_thickness/2"/>
+    <constant name="catcher_poly_front_z" value="catcher_steel_front_z - catcher_steel_front_thickness/2 - catcher_poly_front_thickness/2"/>
+    <constant name="catcher_tyvek_front_z" value="catcher_poly_front_z  - catcher_poly_front_thickness/2  - catcher_tyvek_front_thickness/2"/>
+    <constant name="catcher_poly_active_z" value="catcher_tyvek_front_z - catcher_tyvek_front_thickness/2 - catcher_poly_active_thickness/2"/>
+    <constant name="catcher_tyvek_back_z" value="catcher_poly_active_z - catcher_poly_active_thickness/2 - catcher_tyvek_back_thickness/2"/>
+    <constant name="catcher_poly_back_z" value="catcher_tyvek_back_z  - catcher_tyvek_back_thickness/2  - catcher_poly_back_thickness/2"/>
+    <constant name="catcher_steel_back_z" value="catcher_poly_back_z   - catcher_poly_back_thickness/2   - catcher_steel_back_thickness/2"/>
+<!-- module and abs pos in fine layer -->
+    <constant name="catcher_module_fine_z" value="catcher_layer_fine_z/2 - catcher_layer_base_thickness/2"/>
+<!--   
+     <constant name="AAA_catcher_abs_redge" value="catcher_module_fine_z - catcher_layer_base_thickness/2" />
+     <constant name="AAA_catcher_abs_center" value="AAA_catcher_abs_redge - catcher_layer_fine_z/2" />
+-->
+    <constant name="catcher_abs_fine_z" value="catcher_module_fine_z - catcher_layer_base_thickness/2 - catcher_steel_abs_fine_thickness/2"/>
+    <position name="catcher_module_fine_pos" z="catcher_module_fine_z"/>
+    <position name="catcher_abs_fine_pos" z="catcher_abs_fine_z"/>
+<!-- module and abs pos in coarse layer -->
+    <constant name="catcher_module_coarse_z" value="catcher_layer_coarse_z/2 - catcher_layer_base_thickness/2"/>
+    <constant name="catcher_abs_coarse_z" value="catcher_module_coarse_z - catcher_layer_base_thickness/2 - catcher_steel_abs_coarse_thickness/2"/>
+    <position name="catcher_module_coarse_pos" z="catcher_module_coarse_z"/>
+    <position name="catcher_abs_coarse_pos" z="catcher_abs_coarse_z"/>
+<!-- catcher pos -->
+    <constant name="catcher_gap_z" value="10.0*mm"/>
+    <position name="catcher_pos" z="-hcal_z - catcher_z - catcher_gap_z"/>
+<!-- catcher slice rel pos in active module (no abs.) -->
+    <position name="catcher_steel_front_pos" z="catcher_steel_front_z"/>
+    <position name="catcher_poly_front_pos" z="catcher_poly_front_z"/>
+    <position name="catcher_tyvek_front_pos" z="catcher_tyvek_front_z"/>
+    <position name="catcher_poly_active_pos" z="catcher_poly_active_z"/>
+    <position name="catcher_tyvek_back_pos" z="catcher_tyvek_back_z"/>
+    <position name="catcher_poly_back_pos" z="catcher_poly_back_z"/>
+    <position name="catcher_steel_back_pos" z="catcher_steel_back_z"/>
+<!-- catcher layer z values -->
+    <constant name="catcher_lay0_z" value="catcher_z/2 - catcher_layer_fine_thickness/2"/>
+    <constant name="catcher_lay1_z" value="catcher_lay0_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay2_z" value="catcher_lay1_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay3_z" value="catcher_lay2_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay4_z" value="catcher_lay3_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay5_z" value="catcher_lay4_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay6_z" value="catcher_lay5_z - catcher_layer_fine_thickness"/>
+    <constant name="catcher_lay7_z" value="catcher_lay6_z - catcher_layer_fine_thickness"/>
+<!-- This one is special: last - 1/2 fine - 1/2 coarse -->
+    <constant name="catcher_lay8_z" value="catcher_lay7_z -             catcher_layer_fine_thickness/2 -             catcher_layer_coarse_thickness/2"/>
+    <constant name="catcher_lay9_z" value="catcher_lay8_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay10_z" value="catcher_lay9_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay11_z" value="catcher_lay10_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay12_z" value="catcher_lay11_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay13_z" value="catcher_lay12_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay14_z" value="catcher_lay13_z - catcher_layer_coarse_thickness"/>
+    <constant name="catcher_lay15_z" value="catcher_lay14_z - catcher_layer_coarse_thickness"/>
+<!-- catcher layer positions -->
+    <position name="catcher_lay0_pos" z="catcher_lay0_z"/>
+    <position name="catcher_lay1_pos" z="catcher_lay1_z"/>
+    <position name="catcher_lay2_pos" z="catcher_lay2_z"/>
+    <position name="catcher_lay3_pos" z="catcher_lay3_z"/>
+    <position name="catcher_lay4_pos" z="catcher_lay4_z"/>
+    <position name="catcher_lay5_pos" z="catcher_lay5_z"/>
+    <position name="catcher_lay6_pos" z="catcher_lay6_z"/>
+    <position name="catcher_lay7_pos" z="catcher_lay7_z"/>
+    <position name="catcher_lay8_pos" z="catcher_lay8_z"/>
+    <position name="catcher_lay9_pos" z="catcher_lay9_z"/>
+    <position name="catcher_lay10_pos" z="catcher_lay10_z"/>
+    <position name="catcher_lay11_pos" z="catcher_lay11_z"/>
+    <position name="catcher_lay12_pos" z="catcher_lay12_z"/>
+    <position name="catcher_lay13_pos" z="catcher_lay13_z"/>
+    <position name="catcher_lay14_pos" z="catcher_lay14_z"/>
+    <position name="catcher_lay15_pos" z="catcher_lay15_z"/>
+  </define>
+<!-- materials -->
+  <materials>
+<!-- 
+     global_materials.inc
+     global materials 
+-->
+<!--
+    Materials definitions given by 
+    Mokka CGA, TB03 hcal/ecal, R. Poeschl (most of reference URLs) and J. McCormick.
+-->
+    <element Z="35." formula="Br" name="Bromine">
+      <atom value="79.905"/>
+    </element>
+    <element Z="29." formula="Cu" name="Copper">
+      <atom value="63.546"/>
+    </element>
+    <element Z="6." formula="C" name="Carbon">
+      <atom value="12.01"/>
+    </element>
+    <element Z="17." formula="Cl" name="Chlorine">
+      <atom value="35.45"/>
+    </element>
+    <element Z="1." formula="H" name="Hydrogen">
+      <atom value="1.01"/>
+    </element>
+    <element Z="26." formula="Fe" name="Iron">
+      <atom value="55.85"/>
+    </element>
+    <element Z="7." formula="N" name="Nitrogen">
+      <atom value="14.01"/>
+    </element>
+    <element Z="8." formula="O" name="Oxygen">
+      <atom value="16.0"/>
+    </element>
+    <element Z="14." formula="Si" name="Silicon">
+      <atom value="28.09"/>
+    </element>
+    <element Z="74." formula="W" name="Tungsten">
+      <atom value="183.84"/>
+    </element>
+<!--materials-->
+<!-- 
+     Air: 70% N, 30% O 
+-->
+    <material name="Air">
+      <D unit="mg/cm3" value="1.290"/>
+      <fraction n="0.7" ref="Nitrogen"/>
+      <fraction n="0.3" ref="Oxygen"/>
+    </material>
+<!-- 
+     Copper for Ecal 
+-->
+    <material name="CopperEcal">
+      <D unit="g/cm3" value="8.96"/>
+      <composite n="1" ref="Copper"/>
+    </material>
+<!-- 
+     Quartz for G10 
+-->
+    <material name="Quartz">
+      <D unit="g/cm3" value="2.2"/>
+      <composite n="1" ref="Silicon"/>
+      <composite n="2" ref="Oxygen"/>
+    </material>
+<!--
+    Epoxy for G10.
+-->
+    <material name="Epoxy">
+      <D unit="g/cm3" value="1.3"/>
+      <composite n="44" ref="Hydrogen"/>
+      <composite n="15" ref="Carbon"/>
+      <composite n="7" ref="Oxygen"/>
+    </material>
+<!-- 
+     G10 for Ecal.
+-->
+    <material name="G10">
+      <D unit="g/cm3" value="1.7"/>
+      <fraction n="0.08" ref="Chlorine"/>
+      <fraction n="0.773" ref="Quartz"/>
+      <fraction n="0.147" ref="Epoxy"/>
+    </material>
+<!--
+    Steel235 for the HCal absorber.
+    
+    reference: http://n.ethz.ch/student/zwickers/ download/fs_pe_grundlagen_cyrill.pdf 
+-->
+    <material name="Steel235">
+      <D unit="g/cm3" value="7.85"/>
+      <fraction n="0.998" ref="Iron"/>
+      <fraction n=".002" ref="Carbon"/>
+    </material>
+<!-- 
+     Polyethylene (aka Tyvek) for the Tail Catcher.
+     
+     reference: http://www.encyclopedia.com/html/p1/polyethy.asp
+     reference: http://www.boedeker.com/polye_p.htm
+     
+     Approximation only. (get spec from V. Zutshi@NICADD)
+-->
+    <material name="Polyethylene">
+      <D unit="g/cm3" value="0.92"/>
+      <composite n="2" ref="Carbon"/>
+      <composite n="4" ref="Hydrogen"/>
+    </material>
+<!-- 
+     Polystyrene ("generic") from Mokka for scint. HCal and Catcher.
+     
+     reference: http://cmsdoc.cern.ch/cmsim/manual/cms116/node228.html 
+-->
+    <material name="Polystyrene">
+      <D unit="g/cm3" value="1.032"/>
+      <composite n="19" ref="Carbon"/>
+      <composite n="21" ref="Hydrogen"/>
+    </material>
+<!--
+    Polystyrole.
+-->
+    <material name="Polystyrole">
+      <D unit="g/cm3" value="1.065"/>
+      <composite n="8" ref="Hydrogen"/>
+      <composite n="8" ref="Carbon"/>
+    </material>
+<!-- 
+     PVC for cablefibre mix.
+     
+     reference: http://www.elpac.de/Kunststoffkleinteile/Kleines_Kunststoff-Know-_How/PVC-P/pvc-p.html 
+-->
+    <material name="PVC">
+      <D unit="g/cm3" value="1.35"/>
+      <composite n="3" ref="Hydrogen"/>
+      <composite n="2" ref="Carbon"/>
+      <composite n="1" ref="Chlorine"/>
+    </material>
+<!--
+    PCB for circuit board.
+-->
+    <material name="PCBFR4">
+      <D unit="g/cm3" value="1.25"/>
+      <fraction n="0.180774" ref="Silicon"/>
+      <fraction n="0.405633" ref="Oxygen"/>
+      <fraction n="0.278042" ref="Carbon"/>
+      <fraction n="0.0684428" ref="Hydrogen"/>
+      <fraction n="0.0671091" ref="Bromine"/>
+    </material>
+<!-- 
+     Silicon for ECal active layer.
+-->
+    <material name="SiliconEcal">
+      <D unit="g/cm3" value="2.33"/>
+      <composite n="1" ref="Silicon"/>
+    </material>
+<!--
+    Tungsten for Ecal absorber.
+-->
+    <material name="TungstenEcal">
+      <D unit="g/cm3" value="19.3"/>
+      <composite n="1" ref="Tungsten"/>
+    </material>
+<!-- 
+     Cablefibre mix.
+-->
+    <material name="CablefibreMix">
+      <D unit="g/cm3" value="0.120"/>
+      <fraction n="0.009" ref="Air"/>
+      <fraction n="0.872" ref="PVC"/>
+      <fraction n="0.119" ref="Polystyrole"/>
+    </material>
+  </materials>
+<!-- solids -->
+  <solids>
+<!-- global solids, global_solids.inc -->
+<!-- world -->
+    <box name="WorldBox" x="world_side" y="world_side" z="world_side"/>
+<!-- ecal_solids.inc, ecal solids -->
+<!-- ecal box -->
+    <box name="EcalBox" x="ecal_x" y="ecal_y" z="ecal_z"/>
+<!-- ecal layer box -->
+    <box name="EcalLayerBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_layer_z"/>
+<!-- ecal slice boxes -->
+    <box name="EcalWBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_w_thickness"/>
+    <box name="EcalG10Box" x="ecal_layer_x" y="ecal_layer_y" z="ecal_g10_thickness"/>
+    <box name="EcalSiBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_si_thickness"/>
+    <box name="EcalCuBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_cu_thickness"/>
+    <box name="EcalAirBox" x="ecal_layer_x" y="ecal_layer_y" z="ecal_air_thickness"/>
+<!-- hcal_solids.inc, hcal solids -->
+<!-- hcal box -->
+    <box name="HcalBox" x="hcal_x" y="hcal_y" z="hcal_z"/>
+<!-- hcal layer box -->
+    <box name="hcal_layerBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_layer_z"/>
+<!-- hcal slice boxes -->
+    <box name="PolyBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_poly_thickness"/>
+    <box name="SteelBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_steel_thickness"/>
+    <box name="AirBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_air_thickness"/>
+    <box name="SteelCassetteBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_steel_cassette_thickness"/>
+    <box name="FoilBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_foil_thickness"/>
+    <box name="PcbBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_pcb_thickness"/>
+    <box name="CablefibreBox" x="hcal_layer_x" y="hcal_layer_y" z="hcal_cablefibre_thickness"/>
+<!-- catcher_solids.inc, catcher solids -->
+<!-- catcher boxes -->
+    <box name="CatcherBox" x="catcher_x" y="catcher_y" z="catcher_z"/>
+<!-- catcher layer boxes -->
+    <box name="CatcherLayerFineBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_fine_thickness"/>
+    <box name="CatcherLayerCoarseBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_coarse_thickness"/>
+<!-- module sublayer -->
+    <box name="CatcherModuleBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_layer_base_thickness"/>
+<!-- catcher slice boxes -->
+    <box name="CatcherSteelFrontBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_front_thickness"/>
+    <box name="CatcherPolyFrontBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_front_thickness"/>
+    <box name="CatcherTyvekFrontBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_tyvek_front_thickness"/>
+    <box name="CatcherPolyActiveBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_active_thickness"/>
+    <box name="CatcherTyvekBackBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_tyvek_back_thickness"/>
+    <box name="CatcherPolyBackBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_poly_back_thickness"/>
+    <box name="CatcherSteelBackBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_back_thickness"/>
+    <box name="CatcherFineAbsBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_abs_fine_thickness"/>
+    <box name="CatcherCoarseAbsBox" x="catcher_layer_x" y="catcher_layer_y" z="catcher_steel_abs_coarse_thickness"/>
+  </solids>
+<!-- structure -->
+  <structure>
+<!-- ecal_structure.inc, ecal structure -->
+<!-- ecal slices -->
+    <volume name="EcalW">
+      <materialref ref="TungstenEcal"/>
+      <solidref ref="EcalWBox"/>
+    </volume>
+    <volume name="EcalG10">
+      <materialref ref="G10"/>
+      <solidref ref="EcalG10Box"/>
+    </volume>
+    <volume name="EcalSi">
+      <materialref ref="SiliconEcal"/>
+      <solidref ref="EcalSiBox"/>
+    </volume>
+    <volume name="EcalCu">
+      <materialref ref="CopperEcal"/>
+      <solidref ref="EcalCuBox"/>
+    </volume>
+    <volume name="EcalAir">
+      <materialref ref="Air"/>
+      <solidref ref="EcalAirBox"/>
+    </volume>
+<!-- single ecal layer -->
+    <volume name="EcalLayer">
+      <materialref ref="Air"/>
+      <solidref ref="EcalLayerBox"/>
+      <physvol>
+        <volumeref ref="EcalW"/>
+        <positionref ref="ecal_w_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalG10"/>
+        <positionref ref="ecal_g10_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalSi"/>
+        <positionref ref="ecal_si_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalCu"/>
+        <positionref ref="ecal_cu_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalAir"/>
+        <positionref ref="ecal_air_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+    </volume>
+<!-- ecal layer positions -->
+    <volume name="Ecal">
+      <materialref ref="Air"/>
+      <solidref ref="EcalBox"/>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay0_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay1_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay2_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay3_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay4_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay4_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay5_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay6_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay7_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay8_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay9_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay10_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay11_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay12_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay13_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay14_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay15_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay16_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay17_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay18_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay19_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay20_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay21_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay22_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay23_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay24_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay25_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay26_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay27_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay28_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="EcalLayer"/>
+        <positionref ref="ecal_lay29_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+    </volume>
+<!-- hcal_structure.inc, hcal structure -->
+<!-- hcal slices -->
+    <volume name="Poly">
+      <materialref ref="Polystyrene"/>
+      <solidref ref="PolyBox"/>
+    </volume>
+    <volume name="Steel">
+      <materialref ref="Steel235"/>
+      <solidref ref="SteelBox"/>
+    </volume>
+    <volume name="AirGap">
+      <materialref ref="Air"/>
+      <solidref ref="AirBox"/>
+    </volume>
+    <volume name="SteelCassette">
+      <materialref ref="Steel235"/>
+      <solidref ref="SteelCassetteBox"/>
+    </volume>
+    <volume name="Foil">
+      <materialref ref="Air"/>
+      <solidref ref="FoilBox"/>
+    </volume>
+    <volume name="Pcb">
+      <materialref ref="PCBFR4"/>
+      <solidref ref="PcbBox"/>
+    </volume>
+    <volume name="Cablefibre">
+      <materialref ref="CablefibreMix"/>
+      <solidref ref="CablefibreBox"/>
+    </volume>
+<!-- single hcal layer -->
+    <volume name="HCal_Layer">
+      <materialref ref="Air"/>
+      <solidref ref="hcal_layerBox"/>
+      <physvol>
+        <volumeref ref="Poly"/>
+        <positionref ref="hcal_poly_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="Steel"/>
+        <positionref ref="hcal_steel_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="AirGap"/>
+        <positionref ref="hcal_air_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="SteelCassette"/>
+        <positionref ref="hcal_steel_cassette_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="Foil"/>
+        <positionref ref="hcal_foil_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="Pcb"/>
+        <positionref ref="hcal_pcb_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="Cablefibre"/>
+        <positionref ref="hcal_cablefibre_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+    </volume>
+<!-- hcal layer positions -->
+    <volume name="HCal">
+      <materialref ref="Air"/>
+      <solidref ref="HcalBox"/>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay0_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay1_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay2_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay3_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay4_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay4_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay5_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay6_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay7_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay8_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay9_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay10_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay11_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay12_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay13_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay14_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay15_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay16_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay17_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay18_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay19_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay20_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay21_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay22_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay23_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay24_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
+        <positionref ref="hcal_lay25_pos"/>
+        <rotationref ref="identity"/>
+      </physvol>
+      <physvol>
+        <volumeref ref="HCal_Layer"/>
[truncated at 1000 lines; 291 more skipped]

projects/lcdd/trunk/examples/old/tbeam
tb_single_nconst.gdml added at 3217
--- projects/lcdd/trunk/examples/old/tbeam/tb_single_nconst.gdml	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/tbeam/tb_single_nconst.gdml	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,1058 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gdml xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:noNamespaceSchemaLocation="gdml_1.0.xsd">
+
+   <define>
+      <position  name=   "pos_0"  x="     0.0000"  y="     0.0000"  z="     0.0000"  unit="cm" />
+      <position  name=   "pos_1"  x="     0.0000"  y="     0.0000"  z="     7.5000"  unit="cm" />
+      <position  name=   "pos_2"  x="     0.0000"  y="     0.0000"  z="     7.2500"  unit="cm" />
+      <position  name=   "pos_3"  x="     0.0000"  y="     0.0000"  z="     0.1250"  unit="cm" />
+      <position  name=   "pos_4"  x="     0.0000"  y="     0.0000"  z="    -0.0250"  unit="cm" />
+      <position  name=   "pos_5"  x="     0.0000"  y="     0.0000"  z="    -0.0700"  unit="cm" />
+      <position  name=   "pos_6"  x="     0.0000"  y="     0.0000"  z="    -0.1400"  unit="cm" />
+      <position  name=   "pos_7"  x="     0.0000"  y="     0.0000"  z="    -0.2200"  unit="cm" />
+      <position  name=   "pos_8"  x="     0.0000"  y="     0.0000"  z="     6.7500"  unit="cm" />
+      <position  name=   "pos_9"  x="     0.0000"  y="     0.0000"  z="     6.2500"  unit="cm" />
+      <position  name=  "pos_10"  x="     0.0000"  y="     0.0000"  z="     5.7500"  unit="cm" />
+      <position  name=  "pos_11"  x="     0.0000"  y="     0.0000"  z="     5.2500"  unit="cm" />
+      <position  name=  "pos_12"  x="     0.0000"  y="     0.0000"  z="     4.7500"  unit="cm" />
+      <position  name=  "pos_13"  x="     0.0000"  y="     0.0000"  z="     4.2500"  unit="cm" />
+      <position  name=  "pos_14"  x="     0.0000"  y="     0.0000"  z="     3.7500"  unit="cm" />
+      <position  name=  "pos_15"  x="     0.0000"  y="     0.0000"  z="     3.2500"  unit="cm" />
+      <position  name=  "pos_16"  x="     0.0000"  y="     0.0000"  z="     2.7500"  unit="cm" />
+      <position  name=  "pos_17"  x="     0.0000"  y="     0.0000"  z="     2.2500"  unit="cm" />
+      <position  name=  "pos_18"  x="     0.0000"  y="     0.0000"  z="     1.7500"  unit="cm" />
+      <position  name=  "pos_19"  x="     0.0000"  y="     0.0000"  z="     1.2500"  unit="cm" />
+      <position  name=  "pos_20"  x="     0.0000"  y="     0.0000"  z="     0.7500"  unit="cm" />
+      <position  name=  "pos_21"  x="     0.0000"  y="     0.0000"  z="     0.2500"  unit="cm" />
+      <position  name=  "pos_22"  x="     0.0000"  y="     0.0000"  z="    -0.2500"  unit="cm" />
+      <position  name=  "pos_23"  x="     0.0000"  y="     0.0000"  z="    -0.7500"  unit="cm" />
+      <position  name=  "pos_24"  x="     0.0000"  y="     0.0000"  z="    -1.2500"  unit="cm" />
+      <position  name=  "pos_25"  x="     0.0000"  y="     0.0000"  z="    -1.7500"  unit="cm" />
+      <position  name=  "pos_26"  x="     0.0000"  y="     0.0000"  z="    -2.2500"  unit="cm" />
+      <position  name=  "pos_27"  x="     0.0000"  y="     0.0000"  z="    -2.7500"  unit="cm" />
+      <position  name=  "pos_28"  x="     0.0000"  y="     0.0000"  z="    -3.2500"  unit="cm" />
+      <position  name=  "pos_29"  x="     0.0000"  y="     0.0000"  z="    -3.7500"  unit="cm" />
+      <position  name=  "pos_30"  x="     0.0000"  y="     0.0000"  z="    -4.2500"  unit="cm" />
+      <position  name=  "pos_31"  x="     0.0000"  y="     0.0000"  z="    -4.7500"  unit="cm" />
+      <position  name=  "pos_32"  x="     0.0000"  y="     0.0000"  z="    -5.2500"  unit="cm" />
+      <position  name=  "pos_33"  x="     0.0000"  y="     0.0000"  z="    -5.7500"  unit="cm" />
+      <position  name=  "pos_34"  x="     0.0000"  y="     0.0000"  z="    -6.2500"  unit="cm" />
+      <position  name=  "pos_35"  x="     0.0000"  y="     0.0000"  z="    -6.7500"  unit="cm" />
+      <position  name=  "pos_36"  x="     0.0000"  y="     0.0000"  z="    -7.2500"  unit="cm" />
+      <position  name=  "pos_37"  x="     0.0000"  y="     0.0000"  z="   -61.8992"  unit="cm" />
+      <position  name=  "pos_38"  x="     0.0000"  y="     0.0000"  z="    50.5685"  unit="cm" />
+      <position  name=  "pos_39"  x="     0.0000"  y="     0.0000"  z="     1.0807"  unit="cm" />
+      <position  name=  "pos_40"  x="     0.0000"  y="     0.0000"  z="     0.0307"  unit="cm" />
+      <position  name=  "pos_41"  x="     0.0000"  y="     0.0000"  z="    -0.8193"  unit="cm" />
+      <position  name=  "pos_42"  x="     0.0000"  y="     0.0000"  z="    -0.9693"  unit="cm" />
+      <position  name=  "pos_43"  x="     0.0000"  y="     0.0000"  z="    -1.0750"  unit="cm" />
+      <position  name=  "pos_44"  x="     0.0000"  y="     0.0000"  z="    -1.1307"  unit="cm" />
+      <position  name=  "pos_45"  x="     0.0000"  y="     0.0000"  z="    -1.2557"  unit="cm" />
+      <position  name=  "pos_46"  x="     0.0000"  y="     0.0000"  z="    47.9070"  unit="cm" />
+      <position  name=  "pos_47"  x="     0.0000"  y="     0.0000"  z="    45.2455"  unit="cm" />
+      <position  name=  "pos_48"  x="     0.0000"  y="     0.0000"  z="    42.5840"  unit="cm" />
+      <position  name=  "pos_49"  x="     0.0000"  y="     0.0000"  z="    39.9225"  unit="cm" />
+      <position  name=  "pos_50"  x="     0.0000"  y="     0.0000"  z="    37.2610"  unit="cm" />
+      <position  name=  "pos_51"  x="     0.0000"  y="     0.0000"  z="    34.5995"  unit="cm" />
+      <position  name=  "pos_52"  x="     0.0000"  y="     0.0000"  z="    31.9380"  unit="cm" />
+      <position  name=  "pos_53"  x="     0.0000"  y="     0.0000"  z="    29.2765"  unit="cm" />
+      <position  name=  "pos_54"  x="     0.0000"  y="     0.0000"  z="    26.6150"  unit="cm" />
+      <position  name=  "pos_55"  x="     0.0000"  y="     0.0000"  z="    23.9535"  unit="cm" />
+      <position  name=  "pos_56"  x="     0.0000"  y="     0.0000"  z="    21.2920"  unit="cm" />
+      <position  name=  "pos_57"  x="     0.0000"  y="     0.0000"  z="    18.6305"  unit="cm" />
+      <position  name=  "pos_58"  x="     0.0000"  y="     0.0000"  z="    15.9690"  unit="cm" />
+      <position  name=  "pos_59"  x="     0.0000"  y="     0.0000"  z="    13.3075"  unit="cm" />
+      <position  name=  "pos_60"  x="     0.0000"  y="     0.0000"  z="    10.6460"  unit="cm" />
+      <position  name=  "pos_61"  x="     0.0000"  y="     0.0000"  z="     7.9845"  unit="cm" />
+      <position  name=  "pos_62"  x="     0.0000"  y="     0.0000"  z="     5.3230"  unit="cm" />
+      <position  name=  "pos_63"  x="     0.0000"  y="     0.0000"  z="     2.6615"  unit="cm" />
+      <position  name=  "pos_64"  x="     0.0000"  y="     0.0000"  z="    -2.6615"  unit="cm" />
+      <position  name=  "pos_65"  x="     0.0000"  y="     0.0000"  z="    -5.3230"  unit="cm" />
+      <position  name=  "pos_66"  x="     0.0000"  y="     0.0000"  z="    -7.9845"  unit="cm" />
+      <position  name=  "pos_67"  x="     0.0000"  y="     0.0000"  z="   -10.6460"  unit="cm" />
+      <position  name=  "pos_68"  x="     0.0000"  y="     0.0000"  z="   -13.3075"  unit="cm" />
+      <position  name=  "pos_69"  x="     0.0000"  y="     0.0000"  z="   -15.9690"  unit="cm" />
+      <position  name=  "pos_70"  x="     0.0000"  y="     0.0000"  z="   -18.6305"  unit="cm" />
+      <position  name=  "pos_71"  x="     0.0000"  y="     0.0000"  z="   -21.2920"  unit="cm" />
+      <position  name=  "pos_72"  x="     0.0000"  y="     0.0000"  z="   -23.9535"  unit="cm" />
+      <position  name=  "pos_73"  x="     0.0000"  y="     0.0000"  z="   -26.6150"  unit="cm" />
+      <position  name=  "pos_74"  x="     0.0000"  y="     0.0000"  z="   -29.2765"  unit="cm" />
+      <position  name=  "pos_75"  x="     0.0000"  y="     0.0000"  z="   -31.9380"  unit="cm" />
+      <position  name=  "pos_76"  x="     0.0000"  y="     0.0000"  z="   -34.5995"  unit="cm" />
+      <position  name=  "pos_77"  x="     0.0000"  y="     0.0000"  z="   -37.2610"  unit="cm" />
+      <position  name=  "pos_78"  x="     0.0000"  y="     0.0000"  z="   -39.9225"  unit="cm" />
+      <position  name=  "pos_79"  x="     0.0000"  y="     0.0000"  z="   -42.5840"  unit="cm" />
+      <position  name=  "pos_80"  x="     0.0000"  y="     0.0000"  z="   -45.2455"  unit="cm" />
+      <position  name=  "pos_81"  x="     0.0000"  y="     0.0000"  z="   -47.9070"  unit="cm" />
+      <position  name=  "pos_82"  x="     0.0000"  y="     0.0000"  z="   -50.5685"  unit="cm" />
+      <position  name=  "pos_83"  x="     0.0000"  y="     0.0000"  z="  -196.3185"  unit="cm" />
+      <position  name=  "pos_84"  x="     0.0000"  y="     0.0000"  z="    44.3250"  unit="cm" />
+      <position  name=  "pos_85"  x="     0.0000"  y="     0.0000"  z="     0.9600"  unit="cm" />
+      <position  name=  "pos_86"  x="     0.0000"  y="     0.0000"  z="     0.4250"  unit="cm" />
+      <position  name=  "pos_87"  x="     0.0000"  y="     0.0000"  z="     0.3250"  unit="cm" />
+      <position  name=  "pos_88"  x="     0.0000"  y="     0.0000"  z="     0.2625"  unit="cm" />
+      <position  name=  "pos_89"  x="     0.0000"  y="     0.0000"  z="    -0.2625"  unit="cm" />
+      <position  name=  "pos_90"  x="     0.0000"  y="     0.0000"  z="    -0.3250"  unit="cm" />
+      <position  name=  "pos_91"  x="     0.0000"  y="     0.0000"  z="    -0.4250"  unit="cm" />
+      <position  name=  "pos_92"  x="     0.0000"  y="     0.0000"  z="    -0.4750"  unit="cm" />
+      <position  name=  "pos_93"  x="     0.0000"  y="     0.0000"  z="    41.4550"  unit="cm" />
+      <position  name=  "pos_94"  x="     0.0000"  y="     0.0000"  z="    38.5850"  unit="cm" />
+      <position  name=  "pos_95"  x="     0.0000"  y="     0.0000"  z="    35.7150"  unit="cm" />
+      <position  name=  "pos_96"  x="     0.0000"  y="     0.0000"  z="    32.8450"  unit="cm" />
+      <position  name=  "pos_97"  x="     0.0000"  y="     0.0000"  z="    29.9750"  unit="cm" />
+      <position  name=  "pos_98"  x="     0.0000"  y="     0.0000"  z="    27.1050"  unit="cm" />
+      <position  name=  "pos_99"  x="     0.0000"  y="     0.0000"  z="    24.2350"  unit="cm" />
+      <position  name= "pos_100"  x="     0.0000"  y="     0.0000"  z="    18.5150"  unit="cm" />
+      <position  name= "pos_101"  x="     0.0000"  y="     0.0000"  z="     3.8100"  unit="cm" />
+      <position  name= "pos_102"  x="     0.0000"  y="     0.0000"  z="     9.9450"  unit="cm" />
+      <position  name= "pos_103"  x="     0.0000"  y="     0.0000"  z="     1.3750"  unit="cm" />
+      <position  name= "pos_104"  x="     0.0000"  y="     0.0000"  z="    -7.1950"  unit="cm" />
+      <position  name= "pos_105"  x="     0.0000"  y="     0.0000"  z="   -15.7650"  unit="cm" />
+      <position  name= "pos_106"  x="     0.0000"  y="     0.0000"  z="   -24.3350"  unit="cm" />
+      <position  name= "pos_107"  x="     0.0000"  y="     0.0000"  z="   -32.9050"  unit="cm" />
+      <position  name= "pos_108"  x="     0.0000"  y="     0.0000"  z="   -41.4750"  unit="cm" />
+
+      <!-- The Euler angles (x convention) phi, theta, psi -->
+      <!-- are generated instead of x, y, z  -->
+      <rotation  name=   "rot_0"  x="     0.0000"  y="     0.0000"  z="     0.0000"  unit="degree" />
+   </define>
+
+   <materials>
+      <element  name="Hydrogen_e_e"  Z="  1.0000"  N="  1" >
+         <atom type="A" unit="g/mol" value="  1.0100" />
+      </element>
+      <element  name= "Carbon_e_e"  Z="  6.0000"  N=" 12" >
+         <atom type="A" unit="g/mol" value=" 12.0100" />
+      </element>
+      <element  name="Nitrogen_e_e"  Z="  7.0000"  N=" 14" >
+         <atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+      <element  name= "Oxygen_e_e"  Z="  8.0000"  N=" 16" >
+         <atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+      <element  name="Silicon_e_e"  Z=" 14.0000"  N=" 28" >
+         <atom type="A" unit="g/mol" value=" 28.0900" />
+      </element>
+      <element  name="Chlorine_e_e"  Z=" 17.0000"  N=" 35" >
+         <atom type="A" unit="g/mol" value=" 35.4500" />
+      </element>
+      <element  name=   "Iron_e_e"  Z=" 26.0000"  N=" 56" >
+         <atom type="A" unit="g/mol" value=" 55.8500" />
+      </element>
+      <element  name= "Copper_e_e"  Z=" 29.0000"  N=" 64" >
+         <atom type="A" unit="g/mol" value=" 63.5460" />
+      </element>
+      <element  name="Bromine_e_e"  Z=" 35.0000"  N=" 80" >
+         <atom type="A" unit="g/mol" value=" 79.9050" />
+      </element>
+      <element  name="Tungsten_e_e"  Z=" 74.0000"  N="184" >
+         <atom type="A" unit="g/mol" value="183.8400" />
+      </element>
+
+      <material  name="Air"  >
+         <D type="density" unit="g/cm3" value="     0.0013"/>
+         <fraction n="    0.7000"  ref="Nitrogen_e_e"/>
+         <fraction n="    0.3000"  ref="Oxygen_e_e"/>
+      </material>
+      <material  name="CablefibreMix"  >
+         <D type="density" unit="g/cm3" value="     0.1200"/>
+         <fraction n="    0.0063"  ref="Nitrogen_e_e"/>
+         <fraction n="    0.0027"  ref="Oxygen_e_e"/>
+         <fraction n="    0.0515"  ref="Hydrogen_e_e"/>
+         <fraction n="    0.4449"  ref="Carbon_e_e"/>
+         <fraction n="    0.4946"  ref="Chlorine_e_e"/>
+      </material>
+      <material  name="Copper"  >
+         <D type="density" unit="g/cm3" value="     8.9600"/>
+         <fraction n="    1.0000"  ref="Copper_e_e"/>
+      </material>
+      <material  name="G10"  >
+         <D type="density" unit="g/cm3" value="     1.7000"/>
+         <fraction n="    0.0800"  ref="Chlorine_e_e"/>
+         <fraction n="    0.3614"  ref="Silicon_e_e"/>
+         <fraction n="    0.4606"  ref="Oxygen_e_e"/>
+         <fraction n="    0.0194"  ref="Hydrogen_e_e"/>
+         <fraction n="    0.0787"  ref="Carbon_e_e"/>
+      </material>
+      <material  name="PCBFR4"  >
+         <D type="density" unit="g/cm3" value="     1.2500"/>
+         <fraction n="    0.1808"  ref="Silicon_e_e"/>
+         <fraction n="    0.4056"  ref="Oxygen_e_e"/>
+         <fraction n="    0.2780"  ref="Carbon_e_e"/>
+         <fraction n="    0.0684"  ref="Hydrogen_e_e"/>
+         <fraction n="    0.0671"  ref="Bromine_e_e"/>
+      </material>
+      <material  name="Polyethylene"  >
+         <D type="density" unit="g/cm3" value="     0.9200"/>
+         <fraction n="    0.8560"  ref="Carbon_e_e"/>
+         <fraction n="    0.1440"  ref="Hydrogen_e_e"/>
+      </material>
+      <material  name="Polystyrene"  >
+         <D type="density" unit="g/cm3" value="     1.0320"/>
+         <fraction n="    0.9150"  ref="Carbon_e_e"/>
+         <fraction n="    0.0850"  ref="Hydrogen_e_e"/>
+      </material>
+      <material  name="Silicon"  >
+         <D type="density" unit="g/cm3" value="     2.3300"/>
+         <fraction n="    1.0000"  ref="Silicon_e_e"/>
+      </material>
+      <material  name="Steel235"  >
+         <D type="density" unit="g/cm3" value="     7.8500"/>
+         <fraction n="    0.9980"  ref="Iron_e_e"/>
+         <fraction n="    0.0020"  ref="Carbon_e_e"/>
+      </material>
+      <material  name="Tungsten"  >
+         <D type="density" unit="g/cm3" value="    19.3000"/>
+         <fraction n="    1.0000"  ref="Tungsten_e_e"/>
+      </material>
+
+   </materials>
+
+   <solids>
+      <box  lunit="cm" aunit="degree"
+         name="World_s"
+         x="  500.0000"  y="  500.0000"  z="  500.0000" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Ecal_s"
+         x="    9.0000"  y="    9.0000"  z="    7.5000" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalLayer_s"
+         x="    9.0000"  y="    9.0000"  z="    0.2500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalW_s"
+         x="    9.0000"  y="    9.0000"  z="    0.1250" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalG10_s"
+         x="    9.0000"  y="    9.0000"  z="    0.0250" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalSi_s"
+         x="    9.0000"  y="    9.0000"  z="    0.0200" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalCu_s"
+         x="    9.0000"  y="    9.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="EcalAir_s"
+         x="    9.0000"  y="    9.0000"  z="    0.0300" />
+
+      <box  lunit="cm" aunit="degree"
+         name="HCal_s"
+         x="   50.0000"  y="   50.0000"  z="   51.8992" />
+
+      <box  lunit="cm" aunit="degree"
+         name="HCal_Layer_s"
+         x="   50.0000"  y="   50.0000"  z="    1.3307" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Poly_s"
+         x="   50.0000"  y="   50.0000"  z="    0.2500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Steel_s"
+         x="   50.0000"  y="   50.0000"  z="    0.8000" />
+
+      <box  lunit="cm" aunit="degree"
+         name="AirGap_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="SteelCassette_s"
+         x="   50.0000"  y="   50.0000"  z="    0.1000" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Foil_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0057" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Pcb_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Cablefibre_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0750" />
+
+      <box  lunit="cm" aunit="degree"
+         name="Catcher_s"
+         x="   50.0000"  y="   50.0000"  z="   45.7600" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherLayerFine_s"
+         x="   50.0000"  y="   50.0000"  z="    1.4350" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherModule_s"
+         x="   50.0000"  y="   50.0000"  z="    0.4750" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherSteelFront_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherPolyFront_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherTyvekFront_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0125" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherPolyActive_s"
+         x="   50.0000"  y="   50.0000"  z="    0.2500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherTyvekBack_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0125" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherPolyBack_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherSteelBack_s"
+         x="   50.0000"  y="   50.0000"  z="    0.0500" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherFineAbs_s"
+         x="   50.0000"  y="   50.0000"  z="    0.9600" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherLayerCoarse_s"
+         x="   50.0000"  y="   50.0000"  z="    4.2850" />
+
+      <box  lunit="cm" aunit="degree"
+         name="CatcherCoarseAbs_s"
+         x="   50.0000"  y="   50.0000"  z="    3.8100" />
+
+   </solids>
+
+   <structure>
+      <volume name="EcalW">
+         <materialref ref="Tungsten"/>
+         <solidref ref="EcalW_s"/>
+      </volume>
+
+      <volume name="EcalG10">
+         <materialref ref="G10"/>
+         <solidref ref="EcalG10_s"/>
+      </volume>
+
+      <volume name="EcalSi">
+         <materialref ref="Silicon"/>
+         <solidref ref="EcalSi_s"/>
+      </volume>
+
+      <volume name="EcalCu">
+         <materialref ref="Copper"/>
+         <solidref ref="EcalCu_s"/>
+      </volume>
+
+      <volume name="EcalAir">
+         <materialref ref="Air"/>
+         <solidref ref="EcalAir_s"/>
+      </volume>
+
+      <volume name="EcalLayer">
+         <materialref ref="Air"/>
+         <solidref ref="EcalLayer_s"/>
+         <physvol>
+            <volumeref ref="EcalW"/>
+               <positionref ref="pos_3"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalG10"/>
+               <positionref ref="pos_4"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalSi"/>
+               <positionref ref="pos_5"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalCu"/>
+               <positionref ref="pos_6"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalAir"/>
+               <positionref ref="pos_7"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="Ecal">
+         <materialref ref="Air"/>
+         <solidref ref="Ecal_s"/>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_2"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_8"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_9"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_10"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_11"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_11"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_12"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_13"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_14"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_15"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_16"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_17"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_18"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_19"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_20"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_21"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_22"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_23"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_24"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_25"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_26"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_27"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_28"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_29"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_30"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_31"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_32"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_33"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_34"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_35"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="EcalLayer"/>
+               <positionref ref="pos_36"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="Poly">
+         <materialref ref="Polystyrene"/>
+         <solidref ref="Poly_s"/>
+      </volume>
+
+      <volume name="Steel">
+         <materialref ref="Steel235"/>
+         <solidref ref="Steel_s"/>
+      </volume>
+
+      <volume name="AirGap">
+         <materialref ref="Air"/>
+         <solidref ref="AirGap_s"/>
+      </volume>
+
+      <volume name="SteelCassette">
+         <materialref ref="Steel235"/>
+         <solidref ref="SteelCassette_s"/>
+      </volume>
+
+      <volume name="Foil">
+         <materialref ref="Air"/>
+         <solidref ref="Foil_s"/>
+      </volume>
+
+      <volume name="Pcb">
+         <materialref ref="PCBFR4"/>
+         <solidref ref="Pcb_s"/>
+      </volume>
+
+      <volume name="Cablefibre">
+         <materialref ref="CablefibreMix"/>
+         <solidref ref="Cablefibre_s"/>
+      </volume>
+
+      <volume name="HCal_Layer">
+         <materialref ref="Air"/>
+         <solidref ref="HCal_Layer_s"/>
+         <physvol>
+            <volumeref ref="Poly"/>
+               <positionref ref="pos_39"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="Steel"/>
+               <positionref ref="pos_40"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="AirGap"/>
+               <positionref ref="pos_41"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="SteelCassette"/>
+               <positionref ref="pos_42"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="Foil"/>
+               <positionref ref="pos_43"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="Pcb"/>
+               <positionref ref="pos_44"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="Cablefibre"/>
+               <positionref ref="pos_45"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="HCal">
+         <materialref ref="Air"/>
+         <solidref ref="HCal_s"/>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_38"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_46"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_47"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_48"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_49"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_49"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_50"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_51"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_52"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_53"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_54"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_55"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_56"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_57"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_58"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_59"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_60"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_61"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_62"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_63"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_0"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_64"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_65"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_66"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_67"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_68"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_69"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_70"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_71"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_72"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_73"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_74"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_75"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_76"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_77"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_78"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_79"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_80"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_81"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="HCal_Layer"/>
+               <positionref ref="pos_82"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="CatcherSteelFront">
+         <materialref ref="Steel235"/>
+         <solidref ref="CatcherSteelFront_s"/>
+      </volume>
+
+      <volume name="CatcherPolyFront">
+         <materialref ref="Polystyrene"/>
+         <solidref ref="CatcherPolyFront_s"/>
+      </volume>
+
+      <volume name="CatcherTyvekFront">
+         <materialref ref="Polyethylene"/>
+         <solidref ref="CatcherTyvekFront_s"/>
+      </volume>
+
+      <volume name="CatcherPolyActive">
+         <materialref ref="Polystyrene"/>
+         <solidref ref="CatcherPolyActive_s"/>
+      </volume>
+
+      <volume name="CatcherTyvekBack">
+         <materialref ref="Polyethylene"/>
+         <solidref ref="CatcherTyvekBack_s"/>
+      </volume>
+
+      <volume name="CatcherPolyBack">
+         <materialref ref="Polystyrene"/>
+         <solidref ref="CatcherPolyBack_s"/>
+      </volume>
+
+      <volume name="CatcherSteelBack">
+         <materialref ref="Steel235"/>
+         <solidref ref="CatcherSteelBack_s"/>
+      </volume>
+
+      <volume name="CatcherModule">
+         <materialref ref="Air"/>
+         <solidref ref="CatcherModule_s"/>
+         <physvol>
+            <volumeref ref="CatcherSteelFront"/>
+               <positionref ref="pos_86"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherPolyFront"/>
+               <positionref ref="pos_87"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherTyvekFront"/>
+               <positionref ref="pos_88"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherPolyActive"/>
+               <positionref ref="pos_0"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherTyvekBack"/>
+               <positionref ref="pos_89"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherPolyBack"/>
+               <positionref ref="pos_90"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherSteelBack"/>
+               <positionref ref="pos_91"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="CatcherFineAbs">
+         <materialref ref="Steel235"/>
+         <solidref ref="CatcherFineAbs_s"/>
+      </volume>
+
+      <volume name="CatcherLayerFine">
+         <materialref ref="Air"/>
+         <solidref ref="CatcherLayerFine_s"/>
+         <physvol>
+            <volumeref ref="CatcherModule"/>
+               <positionref ref="pos_85"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherFineAbs"/>
+               <positionref ref="pos_92"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="CatcherCoarseAbs">
+         <materialref ref="Steel235"/>
+         <solidref ref="CatcherCoarseAbs_s"/>
+      </volume>
+
+      <volume name="CatcherLayerCoarse">
+         <materialref ref="Air"/>
+         <solidref ref="CatcherLayerCoarse_s"/>
+         <physvol>
+            <volumeref ref="CatcherModule"/>
+               <positionref ref="pos_101"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherCoarseAbs"/>
+               <positionref ref="pos_92"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+      </volume>
+
+      <volume name="Catcher">
+         <materialref ref="Air"/>
+         <solidref ref="Catcher_s"/>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_84"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_93"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_94"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_95"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_96"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_97"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_98"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerFine"/>
+               <positionref ref="pos_99"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerCoarse"/>
+               <positionref ref="pos_100"/>
+               <rotationref ref="rot_0"/>
+         </physvol>
+         <physvol>
+            <volumeref ref="CatcherLayerCoarse"/>
+               <positionref ref="pos_102"/>
[truncated at 1000 lines; 61 more skipped]

projects/lcdd/trunk/examples/old
template.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/template.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/template.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"     
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="MyDetectorName"
+	      version="1.0" />
+
+    <author name="Your Name"
+	    email="[log in to unmask]"/>
+
+    <generator name="MyDetectorGenerator"
+	       version="1.0"
+	       file="MyDetectorCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Put something about the detector here.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+  </sensitive_detectors>
+
+  <limits>
+  </limits>
+
+  <regions>  
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="WorldVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>     
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <!-- world -->
+      <constant name="world_side" value="10000" />
+      <constant name="world_x" value="world_side" />
+      <constant name="world_y" value="world_side" />
+      <constant name="world_z" value="world_side" />
+
+    </define>
+
+    <materials>
+
+      <!-- elements -->
+      <element name="Argon_e" Z="18.0" N="40" >
+	<atom type="A" unit="g/mol" value="39.9480" />
+      </element>
+
+      <element  name="Nitrogen_e"  Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e"  Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <!-- materials -->
+      <material  name="Air"  >
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+    </materials>
+
+    <solids>
+
+      <!-- world -->
+      <box lunit="mm" 
+	   aunit="degree"
+	   name="world_box"
+	   x="world_x"  
+	   y="world_y"  
+	   z="world_z" />
+
+    </solids>
+
+    <structure>
+
+      <volume name="world">
+	<materialref ref="Air"/>
+	<solidref ref="world_box"/>
+	<visref ref="WorldVis" />
+      </volume>
+    </structure>
+
+    <setup name="Default" version="1.0">
+      <world ref="world"/>
+    </setup>
+
+  </gdml>
+
+  <!-- global field -->
+  <fields>
+  </fields>
+
+</lcdd>

projects/lcdd/trunk/examples/old/trk
trackers.lcdd added at 3217
--- projects/lcdd/trunk/examples/old/trk/trackers.lcdd	                        (rev 0)
+++ projects/lcdd/trunk/examples/old/trk/trackers.lcdd	2014-08-05 00:11:24 UTC (rev 3217)
@@ -0,0 +1,1672 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Time-stamp: <2005-02-03 13:37:57 jeremym> -->
+<lcdd xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/1.0"
+      xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+      xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcdd/1.0/lcdd.xsd">
+
+  <!-- header containing meta data about this geometry -->
+  <header>
+
+    <detector name="sdjan03_lcdd"
+	      version="1.0" />
+
+    <author name="Jeremy McCormick"
+	    email="[log in to unmask]"/>
+
+    <generator name="DummyGenerator"
+	       version="1.0"
+	       file="DummyCompactFile.xml"
+	       checksum="0" />
+
+    <comment>
+      Full detector based on LCDG4's ParFiles/SDJan03.xml
+      with a tube-based geometry and projective readouts.
+    </comment>
+
+  </header>
+
+  <!-- ID encoding specifications -->
+  <iddict>
+
+    <!-- tracker id for vtx/trk systems -->
+    <idspec name="TrkId" length="64">
+
+      <!-- lowest level vol id -->
+      <idfield label="layer"
+	       start="0"
+	       length="10"
+	       signed="false"
+	       />
+
+      <!-- subdet level ids -->
+      <idfield label="sys"
+	       start="10"
+	       length="3"
+	       signed="false" />
+
+      <idfield label="barr"
+	       start="13"
+	       length="3"
+	       signed="false" />
+
+    </idspec>
+
+  </iddict>
+
+  <!-- sensitive detector readouts -->
+  <sensitive_detectors>
+
+    <!-- vtx SD -->
+    <tracker name="VtxBarrSD"
+	     hits_collection="VtxBarrHits"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0">
+
+      <idspecref ref="TrkId" />
+
+    </tracker>
+
+    <!-- trk SD -->
+    <tracker name="TrkBarrSD"
+	     hits_collection="TrkBarrHits"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0"
+	     combine_hits="true">
+
+      <idspecref ref="TrkId" />
+
+    </tracker>
+
+    <!-- TPC SD -->
+    <tracker name="TPCBarrSD"
+	     hits_collection="TPCBarrHits"
+	     ecut="0.0"
+	     eunit="MeV"
+	     verbose="0"
+	     combine_hits="true">
+    </tracker>
+
+    <scorer name="ScorerSD"
+	    hits_collection="ScorerHits"
+	    verbose="0"
+	    />
+
+  </sensitive_detectors>
+
+  <limits>
+    <limitset name="TrkLimit">
+      <limit name="step_length_max" particles="e+,e-,gamma" value="0.01" unit="mm" />
+    </limitset>
+    <limitset name="TPCLimit">
+      <limit name="step_length_max" particles="e+,e-,gamma" value="0.01" unit="mm"/>
+    </limitset>
+  </limits>
+
+  <regions>
+    <region name="EcalRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="HcalRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="MuonRegion"
+	    store_secondaries="false"
+	    cut="1.0"
+	    lunit="mm"
+	    threshold="0.0"
+	    eunit="MeV" />
+
+    <region name="TrackingRegion"
+	    store_secondaries="true"
+	    cut="10.0"
+	    lunit="mm"
+	    threshold="1.0"
+	    eunit="MeV" />
+
+  </regions>
+
+  <display>
+
+    <vis name="DefaultVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="WorldVis"
+		    visible="false"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="EcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="HcalVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+
+      <color R="1.0"
+	     G="1.0"
+	     B="0.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+    <vis name="MuonVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.8"
+	     G="0.5"
+	     B="0.4"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="VtxVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="1.0"
+	     B="0.0"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="TrkVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="0.0"
+	     G="0.0"
+	     B="1.0"
+	     alpha="1.0" />
+    </vis>
+
+    <vis name="CoilVis"
+		    visible="true"
+		    show_daughters="true"
+		    line_style="unbroken"
+		    drawing_style="wireframe">
+      <color R="1.0"
+	     G="1.0"
+	     B="1.0"
+	     alpha="1.0"
+	     />
+    </vis>
+
+  </display>
+
+  <gdml>
+
+    <define>
+
+      <!-- standard global constants -->
+      <constant name="TWOPI" value="2. * pi"/>
+      <rotation name="identity_rot"  x="0.0"  y="0.0"  z="0.0"  unit="degree" />
+      <position name="identity_pos"  x="0.0"  y="0.0"  z="0.0"  unit="cm" />
+
+      <!-- system IDs -->
+      <constant name="vtx_sys_id" value="1" />
+      <constant name="trk_sys_id" value="2" />
+      <constant name="lum_sys_id" value="3" />
+      <constant name="ecal_sys_id" value="4" />
+      <constant name="hcal_sys_id" value="5" />
+      <constant name="muon_sys_id" value="6" />
+
+      <!-- barr, endcap IDs -->
+      <constant name="barr_id" value="0" />
+      <constant name="endcap_north_id" value="1" />
+      <constant name="endcap_south_id" value="2" />
+
+      <!-- laying starts at lay 0 -->
+      <constant name="global_lay_start_id" value="0" />
+
+      <!-- beampipe -->
+
+      <!-- beampipe inner -->
+      <constant name="pipe_inner_thick" value="0.165"/>
+      <constant name="pipe_inner_rmin" value="11.0"/>
+      <constant name="pipe_inner_rmax" value="pipe_inner_rmin + pipe_inner_thick" />
+      <constant name="pipe_inner_zlen" value="3.1 * 2" />
+
+      <!-- beampipe inner shield cone -->
+      <constant name="pipe_inner_shield_thick" value="0.1" />
+      <constant name="pipe_inner_shield_rmin1" value="11.0" />
+      <constant name="pipe_inner_shield_rmin2" value="22.0" />
+      <constant name="pipe_inner_shield_rmax1" value="pipe_inner_shield_rmin1 + pipe_inner_shield_thick" />
+      <constant name="pipe_inner_shield_rmax2" value="pipe_inner_shield_rmin2 + pipe_inner_shield_thick" />
+      <constant name="pipe_inner_shield_zlen" value="35.0" />
+      <constant name="pipe_inner_shield_pos_zface" value="31.0"/>
+      <constant name="pipe_inner_shield_pos_z" value="pipe_inner_shield_pos_zface + pipe_inner_shield_zlen / 2" />
+
+      <position name="pipe_inner_shield_north_pos" z="pipe_inner_shield_pos_z" />
+      <position name="pipe_inner_shield_south_pos" z="-pipe_inner_shield_pos_z" />
+
+      <rotation name="pipe_inner_shield_south_rot" z="180.0 * deg"/>
+      <!-- lum -->
+
+      <!-- vtx -->
+
+      <!-- vtx barr -->
+      <constant name="vtx_si_thick" value="0.1" />
+      <constant name="vtx_lay_thick" value="vtx_si_thick" />
+      <constant name="vtx_barr_lay_thick" value="vtx_lay_thick" />
+      <constant name="vtx_barr_layer_zlen" value="125.0 * 2" />
+
+      <constant name="vtx_barr_rmin" value="12.0" />
+
+      <!-- vtx barr layer 0 -->
+      <constant name="vtx_barr_lay0_rmin" value="vtx_barr_rmin" />
+      <constant name="vtx_barr_lay0_rmax" value="vtx_barr_lay0_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay0_zlen" value="25.0 * 2" />
+
+      <!-- vtx barr layer 1 -->
+      <constant name="vtx_barr_lay1_rmin" value="24.0" />
+      <constant name="vtx_barr_lay1_rmax" value="vtx_barr_lay1_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay1_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 2 -->
+      <constant name="vtx_barr_lay2_rmin" value="36.0" />
+      <constant name="vtx_barr_lay2_rmax" value="vtx_barr_lay2_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay2_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 3 -->
+      <constant name="vtx_barr_lay3_rmin" value="48.0" />
+      <constant name="vtx_barr_lay3_rmax" value="vtx_barr_lay3_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay3_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx barr layer 4 -->
+      <constant name="vtx_barr_lay4_rmin" value="60.0" />
+      <constant name="vtx_barr_lay4_rmax" value="vtx_barr_lay4_rmin + vtx_barr_lay_thick" />
+      <constant name="vtx_barr_lay4_zlen" value="vtx_barr_layer_zlen" />
+
+      <!-- vtx outer wall -->
+      <constant name="vtx_barr_outer_wall_thick" value="1.0" />
+      <constant name="vtx_barr_outer_wall_rmin" value="vtx_barr_lay4_rmax" />
+      <constant name="vtx_barr_outer_wall_rmax" value="vtx_barr_outer_wall_rmin + vtx_barr_outer_wall_thick" />
+      <constant name="vtx_barr_outer_wall_zlen" value="150.0 * 2" />
+
+      <constant name="vtx_barr_zlen" value="vtx_barr_outer_wall_zlen" />
+      <constant name="vtx_barr_rmax" value="vtx_barr_outer_wall_rmax" />
+
+      <!-- vtx barr id -->
+      <constant name="vtx_barr_lay0_id" value="0." />
+      <constant name="vtx_barr_lay1_id" value="1." />
+      <constant name="vtx_barr_lay2_id" value="2." />
+      <constant name="vtx_barr_lay3_id" value="3." />
+      <constant name="vtx_barr_lay4_id" value="4." />
+
+      <!-- vtx endcap -->
+
+      <!-- vtx endplate -->
+      <constant name="vtx_endcap_endplate_rmin" value="22.0" />
+      <constant name="vtx_endcap_endplate_rmax" value="70.0" />
+      <constant name="vtx_endcap_endplate_thick" value="3.0" />
+      <constant name="vtx_endcap_endplate_zlen" value="vtx_endcap_endplate_thick" />
+
+      <!-- vtx cryo endplate -->
+      <constant name="vtx_endcap_cryo_rmin" value="22.0" />
+      <constant name="vtx_endcap_cryo_rmax" value="110.0" />
+      <constant name="vtx_endcap_cryo_thick" value="30.0" />
+      <constant name="vtx_endcap_cryo_zlen" value="vtx_endcap_cryo_thick" />
+
+      <!-- vtx endcap envelope -->
+      <constant name="vtx_endcap_rmin" value="vtx_endcap_endplate_rmin" />
+      <constant name="vtx_endcap_rmax" value="vtx_endcap_cryo_rmax" />
+
+      <constant name="vtx_endcap_cryo_endplate_gap" value="47.0" />
+
+      <constant name="vtx_endcap_thick" value="vtx_endcap_cryo_thick +
+					       vtx_endcap_cryo_endplate_gap +
+					       vtx_endcap_endplate_thick" />
+
+      <constant name="vtx_endcap_zlen" value="vtx_endcap_thick" />
+
+      <!-- vtx endcap z positions -->
+
+      <!-- vtx endcap face z pos -->
+      <constant name="vtx_endcap_pos_face_z" value="150.0" />
+
+      <!-- vtx endcap z pos -->
+      <constant name="vtx_endcap_pos_z" value="vtx_endcap_pos_face_z + vtx_endcap_thick / 2" />
+
+      <!-- vtx endcap, endplate z to cryo z incr w/in the endcap envelope -->
+      <constant name="vtx_endcap_cryo_incr_z" value="vtx_endcap_endplate_thick / 2 +
+						     vtx_endcap_cryo_endplate_gap +
+						     vtx_endcap_cryo_thick / 2" />
+
+      <!-- vtx endcap N/S endplate z pos -->
+      <constant name="vtx_endcap_north_endplate_pos_z" value="-( vtx_endcap_thick / 2 ) + ( vtx_endcap_endplate_thick / 2 )" />
+      <constant name="vtx_endcap_south_endplate_pos_z" value="( vtx_endcap_thick / 2 ) - ( vtx_endcap_endplate_thick / 2 )" />
+
+      <!-- vtx endcap N/S cryo z pos -->
+      <constant name="vtx_endcap_north_cryo_pos_z" value="vtx_endcap_north_endplate_pos_z + vtx_endcap_cryo_incr_z" />
+      <constant name="vtx_endcap_south_cryo_pos_z" value="vtx_endcap_south_endplate_pos_z - vtx_endcap_cryo_incr_z" />
+
+      <!-- vtx endcap N/S positions -->
+      <position name="vtx_endcap_north_pos" z="vtx_endcap_pos_z" />
+      <position name="vtx_endcap_south_pos" z="-vtx_endcap_pos_z" />
+
+      <!-- vtx endcap N endplate pos -->
+      <position name="vtx_endcap_north_endplate_pos" z="vtx_endcap_north_endplate_pos_z" />
+      <position name="vtx_endcap_south_endplate_pos" z="vtx_endcap_south_endplate_pos_z" />
+
+      <!-- vtx endcap N cryo pos -->
+      <position name="vtx_endcap_north_cryo_pos" z="vtx_endcap_north_cryo_pos_z" />
+      <position name="vtx_endcap_south_cryo_pos" z="vtx_endcap_south_cryo_pos_z" />
+
+      <!-- trk -->
+
+      <!-- trk barr -->
+
+      <!-- trk area starts contiguously to vtx, though may include an air gap -->
+      <!-- <constant name="trk_barr_rmin" value="vtx_barr_rmax" /> -->
+      <constant name="trk_barr_rmin" value="200.0" />
+      <constant name="trk_barr_outer_air_gap" value="19.0" />
+      <constant name="trk_barr_rmax" value="1251.0 + trk_barr_outer_air_gap" />
+
+      <constant name="trk_barr_si_thick" value="0.2" />
+      <constant name="trk_barr_g10_thick" value="0.5" />
+      <constant name="trk_barr_lay_thick" value="trk_barr_si_thick + trk_barr_g10_thick" />
+
+      <!-- trk barr layer 0 -->
+      <constant name="trk_barr_lay0_rmin" value="trk_barr_rmin" />
+      <constant name="trk_barr_lay0_rmax" value="trk_barr_lay0_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay0_zlen" value="266.7 * 2" />
+
+      <constant name="trk_barr_lay0_g10_rmin" value="trk_barr_lay0_rmin" />
+      <constant name="trk_barr_lay0_g10_rmax" value="trk_barr_lay0_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay0_si_rmin" value="trk_barr_lay0_g10_rmax" />
+      <constant name="trk_barr_lay0_si_rmax" value="trk_barr_lay0_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 1 -->
+      <constant name="trk_barr_lay1_rmin" value="462.5" />
+      <constant name="trk_barr_lay1_rmax" value="trk_barr_lay1_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay1_zlen" value="616.7 * 2" />
+
+      <constant name="trk_barr_lay1_g10_rmin" value="trk_barr_lay1_rmin" />
+      <constant name="trk_barr_lay1_g10_rmax" value="trk_barr_lay1_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay1_si_rmin" value="trk_barr_lay1_g10_rmax" />
+      <constant name="trk_barr_lay1_si_rmax" value="trk_barr_lay1_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 2 -->
+      <constant name="trk_barr_lay2_rmin" value="725.0" />
+      <constant name="trk_barr_lay2_rmax" value="trk_barr_lay2_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay2_zlen" value="966.7 * 2" />
+
+      <constant name="trk_barr_lay2_g10_rmin" value="trk_barr_lay2_rmin" />
+      <constant name="trk_barr_lay2_g10_rmax" value="trk_barr_lay2_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay2_si_rmin" value="trk_barr_lay2_g10_rmax" />
+      <constant name="trk_barr_lay2_si_rmax" value="trk_barr_lay2_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 3 -->
+      <constant name="trk_barr_lay3_rmin" value="987.5" />
+      <constant name="trk_barr_lay3_rmax" value="trk_barr_lay3_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay3_zlen" value="1316.7 * 2" />
+
+      <constant name="trk_barr_lay3_g10_rmin" value="trk_barr_lay3_rmin" />
+      <constant name="trk_barr_lay3_g10_rmax" value="trk_barr_lay3_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay3_si_rmin" value="trk_barr_lay3_g10_rmax" />
+      <constant name="trk_barr_lay3_si_rmax" value="trk_barr_lay3_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr layer 4 -->
+      <constant name="trk_barr_lay4_rmin" value="1250.0" />
+      <constant name="trk_barr_lay4_rmax" value="trk_barr_lay4_rmin + trk_barr_lay_thick" />
+      <constant name="trk_barr_lay4_zlen" value="1666.7 * 2" />
+
+      <constant name="trk_barr_lay4_g10_rmin" value="trk_barr_lay4_rmin" />
+      <constant name="trk_barr_lay4_g10_rmax" value="trk_barr_lay4_g10_rmin + trk_barr_g10_thick" />
+
+      <constant name="trk_barr_lay4_si_rmin" value="trk_barr_lay4_g10_rmax" />
+      <constant name="trk_barr_lay4_si_rmax" value="trk_barr_lay4_si_rmin + trk_barr_si_thick" />
+
+      <!-- trk barr zlen -->
+      <constant name="trk_barr_zlen" value="trk_barr_lay4_zlen" />
+
+      <!-- trk barr id -->
+      <constant name="trk_barr_lay0_id" value="0." />
+      <constant name="trk_barr_lay1_id" value="1." />
+      <constant name="trk_barr_lay2_id" value="2." />
+      <constant name="trk_barr_lay3_id" value="3." />
+      <constant name="trk_barr_lay4_id" value="4." />
+      <constant name="trk_barr_lay5_id" value="5." />
+
+      <!-- tracking volume -->
+      <constant name="tracking_envelope_rmin" value="0.0" />
+
+      <!-- tracking volume max z, which depends on an ecal constant -->
+      <constant name="tracking_envelope_max_zlen" value="6000.0" />
+
+      <!-- few layers of 'TPC' for test -->
+      <constant name="tpc_nlayers" value="5." />
+      <constant name="tpc_lay_thick" value="50." />
+      <constant name="tpc_tot_lay_thick" value="tpc_nlayers * tpc_lay_thick" />
+      <constant name="tpc_barr_envelope_rmin" value="1400.0" />
+      <constant name="tpc_barr_envelope_rmax" value="tpc_barr_envelope_rmin + tpc_tot_lay_thick" />
+      <constant name="tpc_barr_envelope_zlen" value="tracking_envelope_max_zlen" />
+
+      <constant name="tracking_envelope_rmax" value="tpc_barr_envelope_rmax" />
+
+      <constant name="tpc_barr_lay0_rmin" value="tpc_barr_envelope_rmin" />
+      <constant name="tpc_barr_lay0_rmax" value="tpc_barr_lay0_rmin + tpc_lay_thick" />
+
+      <constant name="tpc_barr_lay1_rmin" value="tpc_barr_lay0_rmax" />
+      <constant name="tpc_barr_lay1_rmax" value="tpc_barr_lay1_rmin + tpc_lay_thick" />
+
+      <constant name="tpc_barr_lay2_rmin" value="tpc_barr_lay1_rmax" />
+      <constant name="tpc_barr_lay2_rmax" value="tpc_barr_lay2_rmin + tpc_lay_thick" />
+
+      <constant name="tpc_barr_lay3_rmin" value="tpc_barr_lay2_rmax" />
+      <constant name="tpc_barr_lay3_rmax" value="tpc_barr_lay3_rmin + tpc_lay_thick" />
+
+      <constant name="tpc_barr_lay4_rmin" value="tpc_barr_lay3_rmax" />
+      <constant name="tpc_barr_lay4_rmax" value="tpc_barr_lay4_rmin + tpc_lay_thick" />
+
+      <!-- Scorer -->
+      <constant name="scorer_barr_rmin" value="tpc_barr_envelope_rmax + 0.1" />
+      <constant name="scorer_barr_rmax" value="scorer_barr_rmin + 1000.0" />
+
+      <!-- coil -->
+      <constant name="coil_barr_inner_thick" value="50.0" />
+      <constant name="coil_barr_main_thick" value="400.0" />
+      <constant name="coil_barr_outer_thick" value="50.0" />
+
+      <constant name="coil_barr_inner_main_gap" value="17.0" />
+      <constant name="coil_barr_main_outer_gap" value="18.0" />
+
+      <constant name="coil_barr_rmin" value="2490.0" />
+      <constant name="coil_barr_zlen" value="2860.0 * 2" />
+
+      <constant name="coil_barr_inner_rmin" value="coil_barr_rmin" />
+      <constant name="coil_barr_inner_rmax" value="coil_barr_inner_rmin + coil_barr_inner_thick" />
+      <constant name="coil_barr_inner_zlen" value="coil_barr_zlen" />
+
+      <constant name="coil_barr_main_rmin" value="coil_barr_inner_rmax + coil_barr_inner_main_gap" />
+      <constant name="coil_barr_main_rmax" value="coil_barr_main_rmin + coil_barr_main_thick" />
+      <constant name="coil_barr_main_zlen" value="coil_barr_zlen - 50" />
+
+      <constant name="coil_barr_outer_rmin" value="coil_barr_main_rmax + coil_barr_main_outer_gap" />
+      <constant name="coil_barr_outer_rmax" value="coil_barr_outer_rmin + coil_barr_outer_thick" />
+      <constant name="coil_barr_outer_zlen" value="coil_barr_zlen" />
+
+      <constant name="coil_barr_rmax" value="coil_barr_outer_rmax" />
+
+      <!-- solenoid settings -->
+      <constant name="solenoid_inner_field" value="5.0" />
+      <constant name="solenoid_outer_field" value="-0.6" />
+      <constant name="solenoid_zmin" value="0.0" />
+      <constant name="solenoid_zmax" value="1000.0" />
+      <constant name="solenoid_rmin" value="1500.0" />
+      <constant name="solenoid_rmax" value="5000.0" />
+
+
+      <!-- full det envelope -->
+      <constant name="det_rmax" value="tracking_envelope_rmax" />
+      <constant name="det_zlen" value="tracking_envelope_max_zlen" />
+
+      <!-- world -->
+      <constant name="world_side" value="det_zlen * 1.5" />
+      <constant name="world_x" value="world_side" />
+      <constant name="world_y" value="world_side" />
+      <constant name="world_z" value="world_side" />
+
+    </define>
+
+    <materials>
+
+      <!-- elements -->
+      <element name="Aluminum_e" formula="Al" Z="13.0">
+	<atom type="A" unit="g/mole" value="26.98" />
+      </element>
+
+      <element name="Argon_e" Z="18.0" formula="Ar" N="40" >
+	<atom type="A" unit="g/mol" value="39.9480" />
+      </element>
+
+      <element name="Beryllium_e" formula="Be" Z="4.0">
+	<atom type="A" unit="g/mol" value="9.012182" />
+      </element>
+
+      <element name="Bromine_e" formula="Br" Z="35.">
+	<atom value="79.905"/>
+      </element>
+
+      <element name="Carbon_e" formula="C" Z="6.">
+	<atom value="12.01" />
+      </element>
+
+      <element name="Chlorine_e" formula="Cl" Z="17.">
+	<atom value="35.45" />
+      </element>
+
+      <element name="Copper_e" formula="Cu" Z="29.">
+	<atom value="63.546" />
+      </element>
+
+      <element name="Hydrogen_e" formula="H" Z="1.">
+	<atom value="1.01" />
+      </element>
+
+      <element name="Iron_e" formula="Fe" Z="26.">
+	<atom value="55.85" />
+      </element>
+
+      <element  name="Nitrogen_e" formula="N" Z="7.0"  N="14" >
+	<atom type="A" unit="g/mol" value=" 14.0100" />
+      </element>
+
+      <element  name="Oxygen_e" formula="O" Z="8.0"  N="16" >
+	<atom type="A" unit="g/mol" value=" 16.0000" />
+      </element>
+
+      <element name="Silicon_e" formula="Si" Z="14.">
+	<atom value="28.09" />
+      </element>
+
+      <!-- from PDG -->
+      <element name="Titanium_e" formula="Ti" Z="22." >
+	<atom value="47.867" />
+      </element>
+
+      <element name="Tungsten_e" formula="W" Z="74.">
+	<atom value="183.84" />
+      </element>
+
+      <!-- materials -->
+      <material  name="Air">
+	<D type="density" unit="g/cm3" value="0.0012"/>
+	<fraction n="0.7803"  ref="Nitrogen_e"/>
+	<fraction n="0.2103"  ref="Oxygen_e"/>
+	<fraction n="0.0094"  ref="Argon_e"/>
+      </material>
+
+      <material name="Vacuum">
+	<D type="density" unit="g/cm3" value="0.000001"/>
+	<fraction n="1.0" ref="Air" />
+      </material>
+
+      <material name="Aluminum">
+	<D type="density" unit="g/cm3" value="2.70" />
+	<composite n="1" ref="Aluminum_e" />
+      </material>
+
+      <material name="Beryllium">
+	<D type="density" unit="g/cm3" value="1.848" />
+	<composite n="1" ref="Beryllium_e" />
+      </material>
+
+      <material name="Copper">
+	<D type="density" value="8.96" unit="g/cm3"/>
+	<composite n="1" ref="Copper_e"/>
+      </material>
+
+      <material name="Epoxy">
+	<D type="density" value="1.3" unit="g/cm3"/>
+	<composite n="44" ref="Hydrogen_e"/>
+	<composite n="15" ref="Carbon_e"/>
+	<composite n="7" ref="Oxygen_e"/>
+      </material>
+
+      <material name="Quartz">
+	<D type="density" value="2.2" unit="g/cm3"/>
+	<composite n="1" ref="Silicon_e"/>
+	<composite n="2" ref="Oxygen_e"/>
+      </material>
+
+      <material name="G10">
+	<D type="density" value="1.7" unit="g/cm3" />
+	<fraction n="0.08" ref="Chlorine_e" />
+	<fraction n="0.773" ref="Quartz" />
+	<fraction n="0.147" ref="Epoxy" />
+      </material>
+
+      <material name="Iron">
+	<D type="density" value="7.87" unit="g/cm3" />
+	<composite n="1" ref="Iron_e" />
+      </material>
+
+      <!-- based on Mokka's generic polystyrene material -->
+      <material name="Polystyrene">
+	<D value="1.032" unit="g/cm3" />
+	<composite n="19" ref="Carbon_e"/>
+	<composite n="21" ref="Hydrogen_e" />
+      </material>
+
+      <material name="Silicon">
+	<D type="density" value="2.33" unit="g/cm3" />
+	<composite n="1" ref="Silicon_e" />
+      </material>
+
+      <!-- SS def taken from examples/tbeam/global_materials.inc, Steel235 -->
+      <material name="Steel235">
+	<D value="7.85" unit="g/cm3" />
+	<fraction n="0.998" ref="Iron_e" />
+	<fraction n=".002" ref="Carbon_e" />
+      </material>
+
+      <material name="Titanium">
+	<D value="4.54" unit="g/cm3" />
+	<composite n="1" ref="Titanium_e" />
+      </material>
+
+      <material name="Tungsten">
+	<D type="density" value="19.3" unit="g/cm3"/>
+	<composite n="1" ref="Tungsten_e" />
+      </material>
+    </materials>
+
+    <solids>
+      <!-- world -->
+      <box  lunit="mm"
+	    aunit="degree"
+	    name="world_box"
+	    x="world_x"
+	    y="world_y"
+	    z="world_z" />
+
+      <!-- full detector tube envelope -->
+      <tube name="det_envelope_tube"
+	    lunit="mm"
+	    z="det_zlen"
+	    rmin="0"
+	    rmax="det_rmax"
+	    deltaphi="TWOPI" />
+
+      <!-- tracking envelope -->
+      <tube name="tracking_envelope_tube"
+	    lunit="mm"
+	    z="tracking_envelope_max_zlen"
+	    rmin="tracking_envelope_rmin"
+	    rmax="tracking_envelope_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- beampipe solids -->
+      <tube name="pipe_inner_tube"
+	    lunit="mm"
+	    z="pipe_inner_zlen"
+	    rmin="pipe_inner_rmin"
+	    rmax="pipe_inner_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <cone name="pipe_inner_shield_cone"
+	    lunit="mm"
+	    z="pipe_inner_shield_zlen"
+	    rmin1="pipe_inner_shield_rmin1"
+	    rmin2="pipe_inner_shield_rmin2"
+	    rmax1="pipe_inner_shield_rmax1"
+	    rmax2="pipe_inner_shield_rmax2"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk solids -->
+
+      <!-- trk barr solids -->
+      <tube name="trk_barr_tube"
+	    lunit="mm"
+	    z="trk_barr_zlen"
+	    rmin="trk_barr_rmin"
+	    rmax="trk_barr_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk barr layer 0 solids -->
+      <tube name="trk_barr_lay0_tube"
+	    lunit="mm"
+	    z="trk_barr_lay0_zlen"
+	    rmin="trk_barr_lay0_rmin"
+	    rmax="trk_barr_lay0_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay0_g10_tube"
+	    lunit="mm"
+	    z="trk_barr_lay0_zlen"
+	    rmin="trk_barr_lay0_g10_rmin"
+	    rmax="trk_barr_lay0_g10_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay0_si_tube"
+	    lunit="mm"
+	    z="trk_barr_lay0_zlen"
+	    rmin="trk_barr_lay0_si_rmin"
+	    rmax="trk_barr_lay0_si_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk barr layer 1 solids -->
+      <tube name="trk_barr_lay1_tube"
+	    lunit="mm"
+	    z="trk_barr_lay1_zlen"
+	    rmin="trk_barr_lay1_rmin"
+	    rmax="trk_barr_lay1_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay1_g10_tube"
+	    lunit="mm"
+	    z="trk_barr_lay1_zlen"
+	    rmin="trk_barr_lay1_g10_rmin"
+	    rmax="trk_barr_lay1_g10_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay1_si_tube"
+	    lunit="mm"
+	    z="trk_barr_lay1_zlen"
+	    rmin="trk_barr_lay1_si_rmin"
+	    rmax="trk_barr_lay1_si_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk barr layer 2 solids -->
+      <tube name="trk_barr_lay2_tube"
+	    lunit="mm"
+	    z="trk_barr_lay2_zlen"
+	    rmin="trk_barr_lay2_rmin"
+	    rmax="trk_barr_lay2_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay2_g10_tube"
+	    lunit="mm"
+	    z="trk_barr_lay2_zlen"
+	    rmin="trk_barr_lay2_g10_rmin"
+	    rmax="trk_barr_lay2_g10_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay2_si_tube"
+	    lunit="mm"
+	    z="trk_barr_lay2_zlen"
+	    rmin="trk_barr_lay2_si_rmin"
+	    rmax="trk_barr_lay2_si_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk barr layer 3 solids -->
+      <tube name="trk_barr_lay3_tube"
+	    lunit="mm"
+	    z="trk_barr_lay3_zlen"
+	    rmin="trk_barr_lay3_rmin"
+	    rmax="trk_barr_lay3_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay3_g10_tube"
+	    lunit="mm"
+	    z="trk_barr_lay3_zlen"
+	    rmin="trk_barr_lay3_g10_rmin"
+	    rmax="trk_barr_lay3_g10_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay3_si_tube"
+	    lunit="mm"
+	    z="trk_barr_lay3_zlen"
+	    rmin="trk_barr_lay3_si_rmin"
+	    rmax="trk_barr_lay3_si_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- trk barr layer 0 solids -->
+      <tube name="trk_barr_lay4_tube"
+	    lunit="mm"
+	    z="trk_barr_lay4_zlen"
+	    rmin="trk_barr_lay4_rmin"
+	    rmax="trk_barr_lay4_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay4_g10_tube"
+	    lunit="mm"
+	    z="trk_barr_lay4_zlen"
+	    rmin="trk_barr_lay4_g10_rmin"
+	    rmax="trk_barr_lay4_g10_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="trk_barr_lay4_si_tube"
+	    lunit="mm"
+	    z="trk_barr_lay4_zlen"
+	    rmin="trk_barr_lay4_si_rmin"
+	    rmax="trk_barr_lay4_si_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- vtx solids -->
+
+      <!-- vtx barr solids -->
+      <tube name="vtx_barr_tube"
+	    lunit="mm"
+	    z="vtx_barr_zlen"
+	    rmin="vtx_barr_rmin"
+	    rmax="vtx_barr_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_lay0_tube"
+	    lunit="mm"
+	    z="vtx_barr_lay0_zlen"
+	    rmin="vtx_barr_lay0_rmin"
+	    rmax="vtx_barr_lay0_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_lay1_tube"
+	    lunit="mm"
+	    z="vtx_barr_lay1_zlen"
+	    rmin="vtx_barr_lay1_rmin"
+	    rmax="vtx_barr_lay1_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_lay2_tube"
+	    lunit="mm"
+	    z="vtx_barr_lay2_zlen"
+	    rmin="vtx_barr_lay2_rmin"
+	    rmax="vtx_barr_lay2_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_lay3_tube"
+	    lunit="mm"
+	    z="vtx_barr_lay3_zlen"
+	    rmin="vtx_barr_lay3_rmin"
+	    rmax="vtx_barr_lay3_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_lay4_tube"
+	    lunit="mm"
+	    z="vtx_barr_lay4_zlen"
+	    rmin="vtx_barr_lay4_rmin"
+	    rmax="vtx_barr_lay4_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="vtx_barr_outer_wall_tube"
+	    lunit="mm"
+	    z="vtx_barr_outer_wall_zlen"
+	    rmin="vtx_barr_outer_wall_rmin"
+	    rmax="vtx_barr_outer_wall_rmax"
+	    deltaphi="TWOPI" />
+
+      <!-- vtx endcap solids -->
+      <tube name="vtx_endcap_endplate_tube"
+	    lunit="mm"
+	    z="vtx_endcap_endplate_zlen"
+	    rmin="vtx_endcap_endplate_rmin"
+	    rmax="vtx_endcap_endplate_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="vtx_endcap_cryo_tube"
+	    lunit="mm"
+	    z="vtx_endcap_cryo_zlen"
+	    rmin="vtx_endcap_cryo_rmin"
+	    rmax="vtx_endcap_cryo_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <tube name="vtx_endcap_tube"
+	    lunit="mm"
+	    z="vtx_endcap_zlen"
+	    rmin="vtx_endcap_rmin"
+	    rmax="vtx_endcap_rmax"
+	    deltaphi="TWOPI"
+	    />
+
+      <!-- tpc solids -->
+      <tube name="tpc_barr_envelope_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_envelope_rmin"
+	    rmax="tpc_barr_envelope_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="tpc_barr_lay0_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_lay0_rmin"
+	    rmax="tpc_barr_lay0_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="tpc_barr_lay1_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_lay1_rmin"
+	    rmax="tpc_barr_lay1_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="tpc_barr_lay2_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_lay2_rmin"
+	    rmax="tpc_barr_lay2_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="tpc_barr_lay3_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_lay3_rmin"
+	    rmax="tpc_barr_lay3_rmax"
+	    deltaphi="TWOPI" />
+
+      <tube name="tpc_barr_lay4_tube"
+	    lunit="mm"
+	    z="tpc_barr_envelope_zlen"
+	    rmin="tpc_barr_lay4_rmin"
+	    rmax="tpc_barr_lay4_rmax"
[truncated at 1000 lines; 675 more skipped]
SVNspam 0.1


Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1