Print

Print


Commit in GeomConverter/src/org/lcsim/detector on MAIN
converter/compact/CylindricalBarrelCalorimeterConverter.java-11.10 -> 1.11
                 /CylindricalEndcapCalorimeterConverter.java+4-61.12 -> 1.13
                 /DiskTrackerConverter.java+35-581.18 -> 1.19
                 /MultiLayerTrackerConverter.java-21.14 -> 1.15
                 /SiTrackerBarrelConverter.java-11.28 -> 1.29
                 /DeSubdetector.java-611.3 removed
tracker/silicon/SiSensor.java+1-201.19 -> 1.20
               /DeSiTrackerBarrel.java-531.3 removed
+40-202
2 removed + 6 modified, total 8 files
JM: removing some unnecessary DE subclasses (maybe temporarily)

GeomConverter/src/org/lcsim/detector/converter/compact
CylindricalBarrelCalorimeterConverter.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- CylindricalBarrelCalorimeterConverter.java	6 Dec 2007 23:25:19 -0000	1.10
+++ CylindricalBarrelCalorimeterConverter.java	8 Dec 2007 02:01:46 -0000	1.11
@@ -63,7 +63,6 @@
 		IPhysicalVolumePath path = nav.getPath( cal.getName() );
 		
 		// Create the Subdetector's DetectorElement.
-		//cal.setDetectorElement( new DeSubdetector(detector, cal, path) );
         ((DetectorElement)cal.getDetectorElement()).setSupport(path);
 		
         // Build the layers.

GeomConverter/src/org/lcsim/detector/converter/compact
CylindricalEndcapCalorimeterConverter.java 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- CylindricalEndcapCalorimeterConverter.java	6 Dec 2007 23:25:19 -0000	1.12
+++ CylindricalEndcapCalorimeterConverter.java	8 Dec 2007 02:01:46 -0000	1.13
@@ -27,9 +27,7 @@
     public void convert( Subdetector subdet, Detector detector)
     {        
         CylindricalEndcapCalorimeter cal = (CylindricalEndcapCalorimeter)subdet;
-    
-        //subdet.setDetectorElement( new DeSubdetector( detector, subdet ) );
-        
+            
         IPhysicalVolume world = detector.getWorldVolume();
         
         ILogicalVolume envelope = buildEnvelope( cal, world.getLogicalVolume().getMaterial() );
@@ -101,14 +99,14 @@
                 LayerSlice slice = layer.getSlice(j);
                 if ( slice.isSensitive() )
                 {                   
-                    // Create the DE for an endcap sensor.
+                    // Create an endcap layer.
                     String pathName = "/" + cal.getName() + "_positive" + "/" + layerName + "/" + sliceName; 
                     new DetectorElement(
                             cal.getName() + "_positive_layer" + layerNumber, 
                             endcap, 
                             pathName);
                              
-                    // Create the DE for a reflected endcap sensor.
+                    // Create the reflected endcap layer.
                     if ( reflectedEndcap != null )
                     {
                         pathName = "/" + cal.getName() + "_negative" + "/" + layerName + "/" + sliceName;
@@ -118,7 +116,7 @@
                                 pathName);                        
                     }
                     
-                    // Increment the sensor number.
+                    // Increment the layer number.
                     ++layerNumber;
                 }
             }

GeomConverter/src/org/lcsim/detector/converter/compact
DiskTrackerConverter.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- DiskTrackerConverter.java	6 Dec 2007 23:25:19 -0000	1.18
+++ DiskTrackerConverter.java	8 Dec 2007 02:01:46 -0000	1.19
@@ -1,7 +1,7 @@
 package org.lcsim.detector.converter.compact;
 
 import org.lcsim.detector.DetectorElement;
-import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.DetectorIdentifierHelper;
 import org.lcsim.detector.ILogicalVolume;
 import org.lcsim.detector.IRotation3D;
 import org.lcsim.detector.LogicalVolume;
@@ -12,6 +12,7 @@
 import org.lcsim.detector.identifier.ExpandedIdentifier;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.identifier.IIdentifierDictionary;
+import org.lcsim.detector.identifier.IIdentifierHelper;
 import org.lcsim.detector.identifier.IdentifierContext;
 import org.lcsim.detector.identifier.IdentifierDictionaryManager;
 import org.lcsim.detector.identifier.IdentifierUtil;
@@ -54,15 +55,19 @@
 
 		// Some DiskTracker subdetectors are used for support material
 		// so need to make sure IDDecoder is not null before using it.
-		int systemNumber = -1;
-		IDDecoder decoder = null;
-		try {
-			decoder = tracker.getIDDecoder();            
-			if (decoder != null)
-				systemNumber = tracker.getIDDecoder().getSystemNumber();
-		}
-		catch (NullPointerException x)
-		{}
+        int systemNumber = tracker.getSystemID();
+        /*
+		 = -1;
+        */
+        
+        IDDecoder decoder = null;
+        try {
+            decoder = tracker.getIDDecoder();                      
+        }
+        catch (NullPointerException x)
+        {}
+        
+        DetectorIdentifierHelper helper = (DetectorIdentifierHelper)tracker.getDetectorElement().getIdentifierHelper();
 
 		Layering layering = tracker.getLayering();
 		String name = tracker.getName();
@@ -177,43 +182,26 @@
                     slicePV.setSensitive(true);
                     
 					String path = "/tracking_region/" + name + "_positive_layer" +i + "/slice" + j;
-
-					ExpandedIdentifier expid = makeExpandedIdentifier(decoder, systemNumber, 1, i);
-
-					IIdentifierDictionary iddict = IdentifierDictionaryManager.getInstance().getIdentifierDictionary( subdet.getReadout().getName() );
-					IIdentifier id = null;
-					try {
-						id = IdentifierUtil.pack(iddict, expid);
-					}
-					catch (InvalidIndexException x)
-					{
-						throw new RuntimeException(x);
-					}
-					                    
+	                
+                    IIdentifier posId = makeIdentifier(helper, systemNumber, helper.getEndcapNegativeValue(), i);
+                    					                   
 					new DetectorElement(
-					        name + "_positive_sensor" + sensorNum,
+					        name + "_positive_layer" + sensorNum,
 					        endcapPos,
 					        path,
-					        id);
+					        posId);
 
 					if ( tracker.getReflect() )
 					{
 						path = "/tracking_region/" + name + "_negative_layer" +i + "/slice" + j;
 
-						expid = makeExpandedIdentifier(decoder, systemNumber, 2, i);
-						try {
-							id = IdentifierUtil.pack(iddict, expid);
-						}
-						catch (InvalidIndexException x)
-						{
-							throw new RuntimeException(x);
-						} 
+                        IIdentifier negId = makeIdentifier(helper, systemNumber, helper.getEndcapNegativeValue(), i);
 						
                         new DetectorElement(
-                                name + "_negative_sensor" + sensorNum,
+                                name + "_negative_layer" + sensorNum,
                                 endcapNeg,
                                 path,
-                                id);
+                                negId);
 					}
 
 					++sensorNum;
@@ -222,30 +210,19 @@
 		}
 	}
 
-	static ExpandedIdentifier makeExpandedIdentifier(IDDecoder decoder, int systemNumber, int barrel, int layer)
+	static IIdentifier makeIdentifier(IIdentifierHelper helper, int systemNumber, int barrel, int layer)
 	{
-		ExpandedIdentifier id = new ExpandedIdentifier();
-		for (int i=0; i<decoder.getFieldCount(); i++) 
-		{
-			String fieldName = decoder.getFieldName(i);
-			if (fieldName.equals("system"))
-			{
-				id.addValue(systemNumber);
-			}
-			else if (fieldName.equals("layer"))
-			{
-				id.addValue(layer);
-			}
-			else if (fieldName.equals("barrel"))
-			{
-				id.addValue(barrel);
-			}
-			else 
-			{
-				id.addValue(0);
-			}
-		}
-		return id;
+		ExpandedIdentifier id = new ExpandedIdentifier(helper.getIdentifierDictionary().getNumberOfFields());
+        try {
+            id.setValue(helper.getFieldIndex("system"), systemNumber);
+            id.setValue(helper.getFieldIndex("barrel"), barrel);
+            id.setValue(helper.getFieldIndex("layer"), layer);
+            return helper.pack(id);
+        }
+        catch (Exception x)
+        {
+            throw new RuntimeException(x);
+        }                            
 	}
     
     public void makeIdentifierContext(Subdetector subdet)

GeomConverter/src/org/lcsim/detector/converter/compact
MultiLayerTrackerConverter.java 1.14 -> 1.15
diff -u -r1.14 -r1.15
--- MultiLayerTrackerConverter.java	6 Dec 2007 23:25:19 -0000	1.14
+++ MultiLayerTrackerConverter.java	8 Dec 2007 02:01:46 -0000	1.15
@@ -45,8 +45,6 @@
         }
         
         MultiLayerTracker tracker = (MultiLayerTracker)subdet;
-                        
-        //tracker.setDetectorElement( new DeSubdetector( detector, subdet ) );
         
         Layering layering = tracker.getLayering();
         

GeomConverter/src/org/lcsim/detector/converter/compact
SiTrackerBarrelConverter.java 1.28 -> 1.29
diff -u -r1.28 -r1.29
--- SiTrackerBarrelConverter.java	6 Dec 2007 23:25:19 -0000	1.28
+++ SiTrackerBarrelConverter.java	8 Dec 2007 02:01:46 -0000	1.29
@@ -41,7 +41,6 @@
 import org.lcsim.detector.solids.Polygon3D;
 import org.lcsim.detector.solids.Tube;
 import org.lcsim.detector.tracker.silicon.ChargeCarrier;
-import org.lcsim.detector.tracker.silicon.DeSiTrackerBarrel;
 import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
 import org.lcsim.detector.tracker.silicon.SiStrips;

GeomConverter/src/org/lcsim/detector/converter/compact
DeSubdetector.java removed after 1.3
diff -N DeSubdetector.java
--- DeSubdetector.java	6 Nov 2007 21:03:29 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,61 +0,0 @@
-package org.lcsim.detector.converter.compact;
-
-import org.lcsim.detector.DetectorElement;
-import org.lcsim.detector.DetectorIdentifierHelper;
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.IPhysicalVolumePath;
-import org.lcsim.geometry.compact.Detector;
-import org.lcsim.geometry.compact.Subdetector;
-
-/**
- * Wraps an {@link org.lcsim.geometry.compact.Subdetector} 
- * in a {@link org.lcsim.detector.DetectorElement}.
- *
- * @author Jeremy McCormick
- * @version $Id: DeSubdetector.java,v 1.3 2007/11/06 21:03:29 jeremy Exp $
- */
-public class DeSubdetector
-extends DetectorElement
-{
-    private Subdetector subdetector;
-    
-    public DeSubdetector(String name, IDetectorElement parent)
-    {
-    	super(name,parent);
-    }
-
-    public DeSubdetector(Detector detector, Subdetector subdetector, String path)
-    {
-        super( subdetector.getName(), detector.getDetectorElement(), path);
-        this.subdetector = subdetector;
-    }   
-    
-    public DeSubdetector(Detector detector, Subdetector subdetector, IPhysicalVolumePath path)
-    {
-        super( subdetector.getName(), detector.getDetectorElement(), path);
-        this.subdetector = subdetector;
-    }
-    
-    public DeSubdetector(Detector detector, Subdetector subdetector)
-    {
-        super( subdetector.getName(), detector.getDetectorElement() );
-        this.subdetector = subdetector;
-    }
-    
-    public Subdetector getSubdetector()
-    {
-        return subdetector;
-    }
-    
-    public DetectorIdentifierHelper getDetectorIdentifierHelper()
-    {
-        if (getIdentifierHelper() instanceof DetectorIdentifierHelper)
-        {
-            return (DetectorIdentifierHelper)getIdentifierHelper();
-        }
-        else
-        {
-            throw new RuntimeException("The IdentifierHelper for " + getName() + " is not a DetectorIdentifierHelper!");
-        }
-    }
-}
\ No newline at end of file

GeomConverter/src/org/lcsim/detector/tracker/silicon
SiSensor.java 1.19 -> 1.20
diff -u -r1.19 -r1.20
--- SiSensor.java	6 Dec 2007 22:27:49 -0000	1.19
+++ SiSensor.java	8 Dec 2007 02:01:47 -0000	1.20
@@ -21,7 +21,6 @@
 import org.lcsim.detector.DetectorElement;
 import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.converter.compact.DeDetector;
-import org.lcsim.detector.converter.compact.DeSubdetector;
 import org.lcsim.detector.identifier.ExpandedIdentifier;
 import org.lcsim.detector.identifier.IExpandedIdentifier;
 import org.lcsim.detector.identifier.IIdentifier;
@@ -304,25 +303,7 @@
                 "   Property 1";
         return output;
     }
-    
-    public IIdentifierHelper getIdentifierHelper()
-    {
-        IDetectorElement search = getParent();
-        while (search != null)
-        {
-            if (search.getIdentifierHelper() != null)
-                return search.getIdentifierHelper();
-            search = search.getParent();
-        }
-        //List<DeSubdetector> subdet = findAncestors(DeSubdetector.class);
-        //if ( subdet.size() == 0 )
-        //{
-        //    throw new RuntimeException("Can't find DeSubdetector for SiSensor!");
-        //}
-        //return subdet.get(0).getIdentifierHelper();
-        return null;
-    }
-    
+        
     /**
      * Make an {@link IIdentifier} for a given strip number and side number.
      *

GeomConverter/src/org/lcsim/detector/tracker/silicon
DeSiTrackerBarrel.java removed after 1.3
diff -N DeSiTrackerBarrel.java
--- DeSiTrackerBarrel.java	28 Aug 2007 22:26:35 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,53 +0,0 @@
-package org.lcsim.detector.tracker.silicon;
-
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.IDetectorElementContainer;
-import org.lcsim.detector.converter.compact.DeSubdetector;
-import org.lcsim.detector.identifier.IExpandedIdentifier;
-import org.lcsim.detector.identifier.IIdentifier;
-import org.lcsim.detector.identifier.IIdentifierHelper;
-import org.lcsim.detector.identifier.IIdentifierDictionary.FieldNotFoundException;
-import org.lcsim.detector.identifier.IIdentifierDictionary.InvalidIndexException;
-
-/**
- * A {@link IDetectorElement} for SiTrackerBarrel.
- *
- * @author Jeremy McCormick
- * @version $Id: DeSiTrackerBarrel.java,v 1.3 2007/08/28 22:26:35 jeremy Exp $
- */
-
-public class DeSiTrackerBarrel
-extends DeSubdetector
-{
-    public DeSiTrackerBarrel(String name, IDetectorElement parent)
-    {
-        super(name, parent);
-    }    
-    
-    public IDetectorElementContainer findDetectorElement(IIdentifier id)
-    {        
-        // Get the IdentifierHelper.
-        IIdentifierHelper helper = getIdentifierHelper();
-     
-        IIdentifier geomId = null;
-        try {
-        	// Make an expanded identifier containing only geometric fields.
-        	IExpandedIdentifier expId = 
-        		helper.unpack(id, 0, helper.getIdentifierDictionary().getFieldIndex("side") - 1);
-
-        	// Repack the Identifier.
-            geomId = helper.pack(expId);
-        }
-        catch (InvalidIndexException x)
-        {
-        	throw new RuntimeException(x);
-        }
-        catch (FieldNotFoundException x)
-        {
-        	throw new RuntimeException(x);
-        }
-
-        // Use super method once non-geometric fields have been stripped out.
-        return super.findDetectorElement(geomId);
-    }    
-}
CVSspam 0.2.8