lcsim/src/org/lcsim/contrib/onoprien/crux/geom
diff -N CalGeometryConfig.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CalGeometryConfig.java 3 Dec 2008 00:00:48 -0000 1.1
@@ -0,0 +1,31 @@
+package org.lcsim.contrib.onoprien.crux.geom;
+
+import java.util.*;
+
+import org.lcsim.event.CalorimeterHit;
+
+import org.lcsim.contrib.onoprien.util.job.JobEventListener;
+import org.lcsim.contrib.onoprien.util.swim.Trajectory;
+
+/**
+ * Calorimeter geometry configuration.
+ *
+ * @author D. Onoprienko
+ * @version $Id: CalGeometryConfig.java,v 1.1 2008/12/03 00:00:48 onoprien Exp $
+ */
+public interface CalGeometryConfig extends JobEventListener {
+
+ /** Returns a list of all modules. */
+ List<CalModule> getModules();
+
+ /** Looks up <tt>CalModule</tt> the hit belongs to. */
+ CalModule getModule(CalorimeterHit hit);
+
+ /**
+ * Returns a list of layers the specified trajectory might cross after coming out of the
+ * given layer - more likely first. The origin of the trajectory should belong to the
+ * specified layer - no checking is done.
+ */
+ List<CalLayer> findNeighbors(CalLayer layer, Trajectory trajectory);
+
+}