4 modified files
GeomConverter/src/org/lcsim/detector
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
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
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
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