Print

Print


Commit in GeomConverter/src/org/lcsim/detector on MAIN
DetectorElement.java+18-61.18 -> 1.19
IDetectorElement.java+15-51.14 -> 1.15
identifier/IExpandedIdentifier.java+4-11.1 -> 1.2
          /IIdentifiable.java+1-21.1 -> 1.2
+38-14
4 modified files
JM: Id updates.

GeomConverter/src/org/lcsim/detector
DetectorElement.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- DetectorElement.java	2 May 2007 23:45:34 -0000	1.18
+++ DetectorElement.java	3 May 2007 21:48:25 -0000	1.19
@@ -371,13 +371,18 @@
     {
         this.helper = helper;
     }
+
+    public IIdentifierHelper getIdentifierHelper()
+    {
+        return helper;
+    }
     
-    public void traversePreOrder(IDetectorElementVisitor visitor)
+    public void traverseDescendantsPreOrder(IDetectorElementVisitor visitor)
     {
         traversePreOrder(this,visitor);
     }
     
-    public void traversePostOrder(IDetectorElementVisitor visitor)
+    public void traverseDescendantsPostOrder(IDetectorElementVisitor visitor)
     {
         traversePostOrder(this,visitor);
     }
@@ -426,13 +431,13 @@
         }
     }
     
-    private class AncestorSearch<T extends IDetectorElement>
+    private class TypeSearch<T extends IDetectorElement>
     implements IDetectorElementVisitor
     {
         Class<T> klass;
         List<T> results = new ArrayList<T>();
         
-        AncestorSearch(Class<T> klass)
+        TypeSearch(Class<T> klass)
         {
             this.klass = klass;
         }
@@ -453,8 +458,15 @@
     
     public <T extends IDetectorElement> List<T> getAncestors(Class<T> klass)
     {
-        AncestorSearch<T> search = new AncestorSearch<T>( klass );
+        TypeSearch<T> search = new TypeSearch<T>( klass );
         traverseAncestors( search );
         return search.getResult();
     }    
-}
\ No newline at end of file
+    
+    public <T extends IDetectorElement> List<T> getDescendants(Class<T> klass)
+    {
+        TypeSearch<T> search = new TypeSearch<T>( klass );
+        traverseDescendantsPreOrder( search );
+        return search.getResult();
+    }
+}

GeomConverter/src/org/lcsim/detector
IDetectorElement.java 1.14 -> 1.15
diff -u -r1.14 -r1.15
--- IDetectorElement.java	2 May 2007 23:45:34 -0000	1.14
+++ IDetectorElement.java	3 May 2007 21:48:25 -0000	1.15
@@ -27,7 +27,7 @@
  * 
  * @author Tim Nelson
  * @author Jeremy McCormick
- * @version $Id: IDetectorElement.java,v 1.14 2007/05/02 23:45:34 jeremy Exp $
+ * @version $Id: IDetectorElement.java,v 1.15 2007/05/03 21:48:25 jeremy Exp $
  */
 public interface IDetectorElement 
 extends IIdentifiable, INamed
@@ -192,14 +192,14 @@
      * 
      * @param visitor
      */
-    public void traversePreOrder(IDetectorElementVisitor visitor);
+    public void traverseDescendantsPreOrder(IDetectorElementVisitor visitor);
  
     /**
      * Post-order tree traversal of this and children.
      * 
      * @param visitor
      */
-    public void traversePostOrder(IDetectorElementVisitor visitor);    
+    public void traverseDescendantsPostOrder(IDetectorElementVisitor visitor);    
     
     /**
      * Visit this and ancestors.
@@ -209,9 +209,19 @@
     public void traverseAncestors(IDetectorElementVisitor visitor);
     
     /**
-     * Find first ancestor with class of {@param klass}.
+     * Find ancestors with class matching {@param klass}.
      * 
      * @param klass Class to match.
      */
     public <T extends IDetectorElement> List<T> getAncestors(Class<T> klass);
-}
\ No newline at end of file
+    
+    /**
+     * Find descendants with class matching {@param klass}.
+     * 
+     * @param <T>
+     * @param klass
+     * @return
+     */
+    public <T extends IDetectorElement> List<T> getDescendants(Class<T> klass);
+    
+}

GeomConverter/src/org/lcsim/detector/identifier
IExpandedIdentifier.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IExpandedIdentifier.java	2 May 2007 01:58:19 -0000	1.1
+++ IExpandedIdentifier.java	3 May 2007 21:48:25 -0000	1.2
@@ -6,7 +6,7 @@
  * COMMENT
  *
  * @author Jeremy McCormick
- * @version $Id: IExpandedIdentifier.java,v 1.1 2007/05/02 01:58:19 jeremy Exp $
+ * @version $Id: IExpandedIdentifier.java,v 1.2 2007/05/03 21:48:25 jeremy Exp $
  */
 
 public interface IExpandedIdentifier
@@ -18,4 +18,7 @@
     public void clear();
     public boolean isValid();
     public boolean equals(IExpandedIdentifier id);
+        
+    // compare only matching prefix fields
+    //public int match(IExpandedIdentifier id); 
 }

GeomConverter/src/org/lcsim/detector/identifier
IIdentifiable.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IIdentifiable.java	28 Feb 2007 21:52:00 -0000	1.1
+++ IIdentifiable.java	3 May 2007 21:48:25 -0000	1.2
@@ -3,6 +3,5 @@
 public interface IIdentifiable 
 {
     public IIdentifier getIdentifier();
-    //IdentifierHash identifyHash();
-    //IIdHelper getHelper();
+    public IIdentifierHelper getIdentifierHelper();
 }
CVSspam 0.2.8