Print

Print


Commit in GeomConverter/src/org/lcsim/detector on MAIN
DetectorIdentifierHelper.java+33-21.4 -> 1.5
converter/compact/AbstractSubdetectorConverter.java+2-21.5 -> 1.6
+35-4
2 modified files
JM: provide access to subdetector information via the DetectorIdentifierHelper (Rich)

GeomConverter/src/org/lcsim/detector
DetectorIdentifierHelper.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- DetectorIdentifierHelper.java	11 Dec 2007 07:27:48 -0000	1.4
+++ DetectorIdentifierHelper.java	2 Jul 2008 21:28:34 -0000	1.5
@@ -39,6 +39,10 @@
  * </ul>
  * </p>
  * 
+ * <p>
+ * Every DetectorIdentifierHelper is associated with a single subdetector, such as the Hcal Barrel.
+ * </p>
+ * 
  * @author Jeremy McCormick <[log in to unmask]>
  */
 public class DetectorIdentifierHelper
@@ -134,6 +138,9 @@
     IIdentifier lumiId;
     IIdentifier lumiEndcapPositiveId;
     IIdentifier lumiEndcapNegativeId;
+    
+    private IDetectorElement subdetectorDetectorElement = null;
+    private int subdetectorSystemNumber = -1;
 
     // LDC si tracking...
     // inner = sit
@@ -292,7 +299,10 @@
     }
 
     // Public ctor.
-    public DetectorIdentifierHelper(IIdentifierDictionary dict, SystemMap systemMap)
+    public DetectorIdentifierHelper(
+    		IDetectorElement subdetectorDetectorElement, 
+    		IIdentifierDictionary dict, 
+    		SystemMap systemMap)
     {
         super(dict);
         try {
@@ -302,6 +312,12 @@
         {
             throw new RuntimeException(x);
         }
+        
+        // Make association to a subdetector's DetectorElement.
+        this.subdetectorDetectorElement = subdetectorDetectorElement;
+        
+        // Make assocation to a subdetector's system value.
+        this.subdetectorSystemNumber = this.getSystemValue(this.subdetectorDetectorElement.getIdentifier());
     }	
 
     private IIdentifier makeSubsysId(int system)
@@ -842,4 +858,19 @@
     {
         return invalidIndex;
     }
-}
+    
+    public String getSubdetectorName()
+    {
+    	return subdetectorDetectorElement.getName();
+    }
+    
+    public int getSubdetectorSystemNumber()
+    {
+    	return subdetectorSystemNumber;
+    }
+    
+    public IDetectorElement getSubdetectorDetectorElement()
+    {
+    	return subdetectorDetectorElement;
+    }
+}
\ No newline at end of file

GeomConverter/src/org/lcsim/detector/converter/compact
AbstractSubdetectorConverter.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- AbstractSubdetectorConverter.java	11 Dec 2007 07:27:50 -0000	1.5
+++ AbstractSubdetectorConverter.java	2 Jul 2008 21:28:34 -0000	1.6
@@ -23,7 +23,7 @@
  * some utilities and default method implementations for Subdetector conversion.
  *
  * @author Jeremy McCormick
- * @version $Id: AbstractSubdetectorConverter.java,v 1.5 2007/12/11 07:27:50 jeremy Exp $
+ * @version $Id: AbstractSubdetectorConverter.java,v 1.6 2008/07/02 21:28:34 jeremy Exp $
  */
 
 public abstract class AbstractSubdetectorConverter implements ISubdetectorConverter
@@ -70,7 +70,7 @@
         
         if (iddict.hasField("system") && iddict.hasField("barrel"))
         {
-            helper = new DetectorIdentifierHelper(iddict, systemMap);
+            helper = new DetectorIdentifierHelper(subdetector.getDetectorElement(), iddict, systemMap);
         }
         else
         {
CVSspam 0.2.8