Commit in GeomConverter on MAIN
src/org/lcsim/geometry/compact/converter/lcdd/HPSMuonCalorimeter2.java+55added 1.1
testResources/org/lcsim/geometry/subdetector/HPSMuonCalorimeter2Test.xml+57added 1.1
+112
2 added files
skeleton code for muon detector

GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
HPSMuonCalorimeter2.java added at 1.1
diff -N HPSMuonCalorimeter2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ HPSMuonCalorimeter2.java	3 Jun 2013 21:25:49 -0000	1.1
@@ -0,0 +1,55 @@
+package org.lcsim.geometry.compact.converter.lcdd;
+
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
+import org.lcsim.geometry.compact.converter.lcdd.util.SensitiveDetector;
+import org.lcsim.geometry.compact.converter.lcdd.util.Volume;
+
+public class HPSMuonCalorimeter2 extends LCDDSubdetector
+{
+	HPSMuonCalorimeter2(Element e) throws JDOMException 
+	{
+		super(e);
+	}
+
+	void addToLCDD(LCDD lcdd, SensitiveDetector sens) throws JDOMException 
+	{
+        String name = node.getAttributeValue("name");
+        System.out.println("HPSMuonCalorimeter2.addToLCDD - " + name);
+        int id = node.getAttribute("id").getIntValue();
+        Volume mother = lcdd.pickMotherVolume(this);
+        
+        Element parameters = node.getChild("parameters");
+        if (parameters == null) {
+        	throw new RuntimeException("parameters element missing");
+        }
+                
+        double frontFaceToTarget = parameters.getAttribute("front_face_to_target").getDoubleValue();
+        double deadZoneAngle = parameters.getAttribute("dead_zone_angle").getDoubleValue();
+        double stripThickness = parameters.getAttribute("strip_thickness").getDoubleValue();
+        double stripSpacingZ = parameters.getAttribute("strip_spacing_z").getDoubleValue();
+        double stripSpacingY = parameters.getAttribute("strip_spacing_y").getDoubleValue();
+        double stripSpacingX = parameters.getAttribute("strip_spacing_x").getDoubleValue();
+        
+        System.out.println("frontFaceToTarget = " + frontFaceToTarget);
+        System.out.println("deadZoneAngle = " + deadZoneAngle);
+        System.out.println("stripThickness = " + stripThickness);
+        System.out.println("stripSpacingX = " + stripSpacingX);
+        System.out.println("stripSpacingY = " + stripSpacingY);        
+        System.out.println("stripSpacingZ = " + stripSpacingZ);
+        
+        for (Object layerObject : node.getChildren("layer")) {
+        	Element layerElement = (Element)layerObject;
+        	int layerId = layerElement.getAttribute("id").getIntValue();
+        	System.out.println("layer = " + layerId);
+        	for (Object sliceObject : layerElement.getChildren("slice")) {
+        		Element sliceElement = (Element)sliceObject;
+        		if (sliceElement.getAttribute("thickness") != null) {
+        			double thickness = sliceElement.getAttribute("thickness").getDoubleValue();
+        			System.out.println("slice thickness = " + thickness);
+        		}
+        	}
+        }
+	}
+}

GeomConverter/testResources/org/lcsim/geometry/subdetector
HPSMuonCalorimeter2Test.xml added at 1.1
diff -N HPSMuonCalorimeter2Test.xml
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ HPSMuonCalorimeter2Test.xml	3 Jun 2013 21:25:49 -0000	1.1
@@ -0,0 +1,57 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
+       xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+    
+    <info name="HPSMuonCalorimeter2Test" />
+    
+    <define>   
+        
+        <!-- world volume -->
+        <constant name="world_side" value="10000.0*cm" />
+        <constant name="world_x" value="world_side" />
+        <constant name="world_y" value="world_side" />
+        <constant name="world_z" value="world_side" />
+        
+        <!-- tracking region -->
+        <constant name="tracking_region_radius" value="5.0*cm" />
+        <constant name="tracking_region_min" value="0.0*cm" />
+        <constant name="tracking_region_zmax" value="100.0*cm" />
+        
+    </define>
+    
+    <materials>
+        <material name="Scintillator">
+            <D value="1.032" unit="g/cm3"/>
+            <composite n="9" ref="C"/>
+            <composite n="10" ref="H"/>
+        </material>
+    </materials>
+    
+    <detectors>        
+        <detector id="2" name="MUON" type="HPSMuonCalorimeter2" insideTrackingVolume="false" readout="MUON_HITS">
+            <parameters front_face_to_target="177.0*cm" 
+                        dead_zone_angle="0.015" 
+                        strip_thickness="1.0*cm" 
+                        strip_spacing_z="1.0"
+                        strip_spacing_y="0.1"
+                        strip_spacing_x="0.1" 
+                        strip_spacing_z_outer="1.0*cm" 
+                        center_x="0." />
+             
+             <layer id="1">
+                 <slice material="Iron" sensitive="false" thickness="30.0*cm" />
+                 <slice material="Scintillator" sensitive="true" />
+                 <slice material="Scintillator" sensitive="true" />
+             </layer>
+             
+        </detector>
+    </detectors>
+    
+    <readouts>
+        <readout name="MUON_HITS">
+            <segmentation type="GridXYZ" gridSizeX="5.0" gridSizeY="5.0" gridSizeZ="0.0" />
+            <id>system:6,side:-2,layer:4,slice:3,x:32:-8,y:-6</id>
+        </readout>
+    </readouts>
+            
+</lccdd>
\ No newline at end of file
CVSspam 0.2.12


Use REPLY-ALL to reply to list

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