Print

Print


Commit in GeomConverter on MAIN
src/org/lcsim/detector/IPhysicalVolumeVisitor.java+1-31.1 -> 1.2
src/org/lcsim/detector/converter/compact/DetectorConverter.java+2-11.13 -> 1.14
src/org/lcsim/detector/identifier/IdentifierHelper.java+10-451.1 -> 1.2
test/org/lcsim/detector/SimpleDetectorTest.java+51.10 -> 1.11
test/org/lcsim/detector/converter/compact/DetectorConverterTest.java+7-11.8 -> 1.9
+25-50
5 modified files
JM: Miscellaneous.

GeomConverter/src/org/lcsim/detector
IPhysicalVolumeVisitor.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IPhysicalVolumeVisitor.java	7 Mar 2007 00:43:32 -0000	1.1
+++ IPhysicalVolumeVisitor.java	2 May 2007 23:46:10 -0000	1.2
@@ -5,6 +5,4 @@
 
 public interface IPhysicalVolumeVisitor 
 extends IVisitor<IPhysicalVolume>
-{
-	public void visit(IPhysicalVolume volume);
-}
+{}

GeomConverter/src/org/lcsim/detector/converter/compact
DetectorConverter.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- DetectorConverter.java	2 May 2007 01:58:19 -0000	1.13
+++ DetectorConverter.java	2 May 2007 23:46:10 -0000	1.14
@@ -7,6 +7,7 @@
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
+import org.lcsim.detector.DetectorElement;
 import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.ILogicalVolume;
 import org.lcsim.detector.IPhysicalVolume;
@@ -147,7 +148,7 @@
                 // Now assign the IdentifierHelper to the DetectorElement after it has been built.
                 if ( subdet.getDetectorElement() != null )
                 {
-                    subdet.getDetectorElement().setIdentifierHelper( new IdentifierHelper( iddict ) );
+                    ((DetectorElement)subdet.getDetectorElement()).setIdentifierHelper( new IdentifierHelper( iddict ) );
                 }
 			}            
 		}		

GeomConverter/src/org/lcsim/detector/identifier
IdentifierHelper.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IdentifierHelper.java	2 May 2007 01:58:19 -0000	1.1
+++ IdentifierHelper.java	2 May 2007 23:46:10 -0000	1.2
@@ -1,15 +1,17 @@
 package org.lcsim.detector.identifier;
 
 /**
- * A helper class for encoding and decoding identifiers
- * using information from an identifier dictionary.
+ * A helper class for packing {@see IExpandedIdentifier} objects
+ * and unpacking {@see IIdentifier} objects using information in
+ * a {@see IIdentifierDictionary}.
  * 
  * @see IIdentifierDictionary
  * @see IIdentifier
  * @see IExpandedIdentifier
+ * @see IdentifierUtil
  *
  * @author Jeremy McCormick
- * @version $Id: IdentifierHelper.java,v 1.1 2007/05/02 01:58:19 jeremy Exp $
+ * @version $Id: IdentifierHelper.java,v 1.2 2007/05/02 23:46:10 jeremy Exp $
  */
 
 public class IdentifierHelper
@@ -28,49 +30,12 @@
     }
     
     public IIdentifier pack( IExpandedIdentifier id )
-    {
-        long result = 0;
-        int idx = 0;
-        for ( int value : id.getValues() )
-        {
-            IIdentifierField field = iddict.getField(idx);
-            int start = field.getOffset();
-            long mask = field.getMaskOn();
-            result |= (mask & value) << start;
-            ++idx;
-        }       
-        return new Identifier( result );
+    {        
+        return IdentifierUtil.pack(id, getIdentifierDictionary() );            
     }
 
-    public IExpandedIdentifier unpack( IIdentifier compact )
+    public IExpandedIdentifier unpack( IIdentifier id )
     {
-        ExpandedIdentifier buffer = new ExpandedIdentifier();
-
-        long id = compact.getValue();
-        
-        for ( IIdentifierField field : iddict.getFields().values() )
-        {
-            int start = field.getOffset();
-            int length = field.getNumberOfBits();
-            long mask = field.getMaskOn();
-                        
-            int result = (int) ((id >> start) & mask);
-            if ( field.isSigned() )
-            {
-                int signBit = 1 << (length-1);
-                if ((result & signBit) != 0) 
-                {
-                    result -= (1 << length);
-                    
-                    // FIXME: Negatives have an unknown off-by-one error
-                    //        which is corrected for here!  (Why????)
-                    result += 1;
-                }
-            }
-            
-            buffer.addValue(result);
-        }
-        
-        return buffer;
+        return IdentifierUtil.unpack( id, iddict );
     }           
-}
+}
\ No newline at end of file

GeomConverter/test/org/lcsim/detector
SimpleDetectorTest.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- SimpleDetectorTest.java	20 Mar 2007 21:20:00 -0000	1.10
+++ SimpleDetectorTest.java	2 May 2007 23:46:10 -0000	1.11
@@ -181,6 +181,11 @@
 		{
 			System.out.println("visiting node " + volume.getName());
 		}
+        
+        public boolean isDone()
+        {
+            return false;
+        }
 	}
 	
     /*

GeomConverter/test/org/lcsim/detector/converter/compact
DetectorConverterTest.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- DetectorConverterTest.java	20 Apr 2007 00:16:54 -0000	1.8
+++ DetectorConverterTest.java	2 May 2007 23:46:10 -0000	1.9
@@ -72,8 +72,14 @@
 
         // Check for top-level DEs that should have been built.
         for ( String de : des ) 
-        {        
+        {
+            // Check that the DE was created.
             assertTrue("The expected DetectorElement <" + de + "> is missing!", deDetector.getChildren().get(de) != null);
+            
+            // Check that the DeDetector is findable from this DE.
+            List<DeDetector> detectorSearch = deDetector.getChildren().get(de).getAncestors(DeDetector.class); 
+            assertTrue( detectorSearch.size() == 1);
+            assertTrue( detectorSearch.get(0).getName().equals("test_detector"));
         }                
     }
     
CVSspam 0.2.8