Commit in lcsim/src/org/lcsim/util/heprep on MAIN
DisplayHitModules.java+96-841.6 -> 1.7
correction to endcap display; include SiTrackerEndcap2 hits

lcsim/src/org/lcsim/util/heprep
DisplayHitModules.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- DisplayHitModules.java	24 Apr 2009 19:51:33 -0000	1.6
+++ DisplayHitModules.java	25 Sep 2009 23:57:52 -0000	1.7
@@ -15,23 +15,24 @@
 import hep.graphics.heprep.HepRepType;
 import hep.graphics.heprep.HepRepTypeTree;
 import hep.physics.vec.Hep3Vector;
+
 import java.awt.Color;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
 import org.lcsim.detector.DetectorElementStore;
 import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.IDetectorElementContainer;
-import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.solids.IPolyhedron;
 import org.lcsim.detector.solids.ISolid;
 import org.lcsim.detector.solids.Point3D;
 import org.lcsim.event.EventHeader;
-import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.event.SimTrackerHit;
+import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.geometry.Subdetector;
 import org.lcsim.geometry.subdetector.SiTrackerBarrel;
 import org.lcsim.geometry.subdetector.SiTrackerEndcap;
+import org.lcsim.geometry.subdetector.SiTrackerEndcap2;
 
 /**
  * Converter that draws modules and sensors that have hits in them. 
@@ -39,85 +40,96 @@
  *
  */
 public class DisplayHitModules implements HepRepCollectionConverter{
-    
-    
-    /** Creates a new instance of DisplayHitModules */
-    public DisplayHitModules() {
-    }
-    
-
-    public boolean canHandle(Class k) {
-        return (SimTrackerHit.class.isAssignableFrom(k)); 
-    }
-
-    public void convert(EventHeader event, List collection, HepRepFactory factory, HepRepTypeTree typeTree, HepRepInstanceTree instanceTree) {
-
-        try {
-          LCMetaData data = event.getMetaData(collection);
-          Subdetector sub = data.getIDDecoder().getSubdetector();
-          if (!(sub instanceof SiTrackerBarrel || sub instanceof SiTrackerEndcap)) return; //ignore older detectors
-        } catch (RuntimeException x) {return;} // ignore additional SimTrackerHit collections
-        
-        if (DetectorElementStore.getInstance().isEmpty()) return; 
-        
-        String collection_name = event.getMetaData(collection).getName();
-        
-        //sensor type    
-        HepRepType typeS = getSensorType(factory, typeTree, collection_name);
-               
-        //module type
-        HepRepType typeM = getModuleType(factory, typeTree, collection_name);
-        
-        Set<IDetectorElement> alreadyMade = new HashSet<IDetectorElement>(); 
-        
-        for (SimTrackerHit h : (List<SimTrackerHit>) collection) 
-        {
-        	// find sensor
-        	IDetectorElement sensor = h.getDetectorElement(); 
-                     
-        	//make sure we don't have repeats
-            if (!alreadyMade.add(sensor)) continue; 
-            
-            //get the module from the sensor 
-            IDetectorElement module = sensor.getParent(); 
-            
-            drawPolyhedron(sensor,typeS,instanceTree,factory); 
-            drawPolyhedron(module,typeM,instanceTree,factory); 
-        }
-    }
-    
-    public static void drawPolyhedron(IDetectorElement detelem, HepRepType type, HepRepInstanceTree instanceTree, HepRepFactory factory) {
-        
-        ISolid solid = detelem.getGeometry().getLogicalVolume().getSolid(); 
-        if (!(solid instanceof IPolyhedron)) return; 
-        IPolyhedron poly = (IPolyhedron) solid; 
-        
-        List<Point3D> points = poly.getVertices(); 
-        int[] point_ordering = poly.getHepRepVertexOrdering();
-        
-        HepRepInstance instance = factory.createHepRepInstance(instanceTree,type); 
-        
-        for (int i = 0; i< point_ordering.length; i++) {
-            Hep3Vector p = detelem.getGeometry().transformLocalToGlobal(points.get(point_ordering[i]));
-            factory.createHepRepPoint(instance,p.x(),p.y(),p.z()); 
-        }
-    }
-    
-    public static HepRepType getSensorType(HepRepFactory factory, HepRepTypeTree typeTree, String collection_name){
-        
-        HepRepType typeS = factory.createHepRepType(typeTree,"HitSensor"+collection_name);
-        typeS.addAttValue("layer",LCSimHepRepConverter.HITS_LAYER); 
-        typeS.addAttValue("drawAs","prism"); 
-        typeS.addAttValue("color",Color.WHITE);
-        return typeS; 
-    }
-    
-    public static HepRepType getModuleType(HepRepFactory factory, HepRepTypeTree typeTree, String collection_name){
-        
-        HepRepType typeM = factory.createHepRepType(typeTree,"HitModule"+collection_name);
-        typeM.addAttValue("layer",LCSimHepRepConverter.HITS_LAYER);
-        typeM.addAttValue("drawAs","prism"); 
-        typeM.addAttValue("color",Color.WHITE);
-        return typeM; 
-    }
+
+
+	/** Creates a new instance of DisplayHitModules */
+	public DisplayHitModules() {
+	}
+
+
+	public boolean canHandle(Class k) {
+		return (SimTrackerHit.class.isAssignableFrom(k)); 
+	}
+
+	public void convert(EventHeader event, List collection, HepRepFactory factory, HepRepTypeTree typeTree, HepRepInstanceTree instanceTree) {
+
+		try 
+		{
+			LCMetaData data = event.getMetaData(collection);
+			Subdetector sub = data.getIDDecoder().getSubdetector();
+			//ignore older detectors
+			if (!(sub instanceof SiTrackerBarrel || sub instanceof SiTrackerEndcap || sub instanceof SiTrackerEndcap2)) 
+				return; 
+		} 
+		// ignore additional SimTrackerHit collections
+		catch (RuntimeException x) 
+		{
+			return;
+		} 
+
+		if (DetectorElementStore.getInstance().isEmpty()) 
+			return; 
+
+		String collection_name = event.getMetaData(collection).getName();
+
+		//sensor type    
+		HepRepType typeS = getSensorType(factory, typeTree, collection_name);
+
+		//module type
+		HepRepType typeM = getModuleType(factory, typeTree, collection_name);
+
+		Set<IDetectorElement> alreadyMade = new HashSet<IDetectorElement>(); 
+
+		for (SimTrackerHit h : (List<SimTrackerHit>) collection) 
+		{
+			// find sensor
+			IDetectorElement sensor = h.getDetectorElement(); 
+
+			//make sure we don't have repeats
+			if (!alreadyMade.add(sensor)) 
+				continue; 
+
+			//get the module from the sensor 
+			IDetectorElement module = sensor.getParent(); 
+
+			drawPolyhedron(sensor,typeS,instanceTree,factory); 
+			drawPolyhedron(module,typeM,instanceTree,factory); 
+		}
+	}
+
+	public static void drawPolyhedron(IDetectorElement detelem, HepRepType type, HepRepInstanceTree instanceTree, HepRepFactory factory) {
+
+		ISolid solid = detelem.getGeometry().getLogicalVolume().getSolid(); 
+		if (!(solid instanceof IPolyhedron)) 
+			return; 
+		IPolyhedron poly = (IPolyhedron) solid; 
+
+		List<Point3D> points = poly.getVertices(); 
+		int[] point_ordering = poly.getHepRepVertexOrdering();
+
+		HepRepInstance instance = factory.createHepRepInstance(instanceTree,type); 
+
+		for (int i = 0; i< point_ordering.length; i++) {
+			Hep3Vector p = detelem.getGeometry().transformLocalToGlobal(points.get(point_ordering[i]));
+			factory.createHepRepPoint(instance,p.x(),p.y(),p.z()); 
+		}
+	}
+
+	public static HepRepType getSensorType(HepRepFactory factory, HepRepTypeTree typeTree, String collection_name){
+
+		HepRepType typeS = factory.createHepRepType(typeTree,"HitSensor"+collection_name);
+		typeS.addAttValue("layer",LCSimHepRepConverter.HITS_LAYER); 
+		typeS.addAttValue("drawAs","prism"); 
+		typeS.addAttValue("color",Color.WHITE);
+		return typeS; 
+	}
+
+	public static HepRepType getModuleType(HepRepFactory factory, HepRepTypeTree typeTree, String collection_name){
+
+		HepRepType typeM = factory.createHepRepType(typeTree,"HitModule"+collection_name);
+		typeM.addAttValue("layer",LCSimHepRepConverter.HITS_LAYER);
+		typeM.addAttValue("drawAs","prism"); 
+		typeM.addAttValue("color",Color.WHITE);
+		return typeM; 
+	}
 }
CVSspam 0.2.8