Commit in lcsim/src/org/lcsim/contrib/onoprien/tracking/geom on MAIN
ForwardingSegmenter.java+3-101.3 -> 1.4
RegionSegmenter.java+3-31.3 -> 1.4
SegmentationManager.java+8-71.11 -> 1.12
Segmenter.java+1-71.7 -> 1.8
SensorType.java+5-61.4 -> 1.5
+20-33
5 modified files
Misc. minor improvements, simplified Segmenter interface

lcsim/src/org/lcsim/contrib/onoprien/tracking/geom
ForwardingSegmenter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- ForwardingSegmenter.java	9 Oct 2007 18:08:46 -0000	1.3
+++ ForwardingSegmenter.java	17 Feb 2008 00:54:28 -0000	1.4
@@ -13,10 +13,11 @@
  * <p>
  * Subclasses should implement {@link #chooseSegmenter(SimTrackerHit)} method to select
  * a daughter segmenter that will handle a particular simulated hit. Daughter segmenters
- * should be added to the parent segmenter through calls to {@link #addDaughterSegmenter}.
+ * should be added to the parent segmenter through calls to 
+ * {@link #addDaughterSegmenter(AbstractSegmenter)}.
  *
  * @author D. Onoprienko
- * @version $Id: ForwardingSegmenter.java,v 1.3 2007/10/09 18:08:46 onoprien Exp $
+ * @version $Id: ForwardingSegmenter.java,v 1.4 2008/02/17 00:54:28 onoprien Exp $
  */
 abstract public class ForwardingSegmenter extends AbstractSegmenter {
   
@@ -64,14 +65,6 @@
   }
   
   /**
-   * Creates a new {@link Sensor} object given simulated hit.
-   */
-  public Sensor getSensor(SimTrackerHit hit) {
-    AbstractSegmenter daughter = chooseSegmenter(hit);
-    return (daughter == null) ? null : daughter.getSensor(hit);
-  }
-  
-  /**
    * Creates a new {@link Sensor} object given full <tt>SensorID</tt>.
    * Caution: for the sake of speed, no checking is done to veryfy that the 
    * supplied <tt>SensorID</tt> is valid and should be handled by this <tt>Segmenter</tt>.

lcsim/src/org/lcsim/contrib/onoprien/tracking/geom
RegionSegmenter.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- RegionSegmenter.java	9 Oct 2007 18:08:46 -0000	1.3
+++ RegionSegmenter.java	17 Feb 2008 00:54:28 -0000	1.4
@@ -9,8 +9,8 @@
  * Base class for implementing {@link Segmenter}s that describe virtual segmentation 
  * of a certain part of the detector.
  * <p>
- * Within this part, each <tt>Sensor</tt> is identified by a unique integer <tt>postfix</tt>.
- * An object of this class can be assigned an integer <tt>prefix</tt>. After that,
+ * Within that part, each <tt>Sensor</tt> is identified by a unique integer <tt>postfix</tt>.
+ * Each <tt>RegionSegmenter</tt> can be assigned an integer <tt>prefix</tt>. After that,
  * <tt>SensorID</tt> values returned by <tt>getSensorID(SimTrackerHit)</tt> method and assigned to
  * <tt>Sensor</tt> objects created by this segmenter will be composed of bits
  * containing the <tt>prefix</tt> and bits containing the <tt>postfix</tt>.
@@ -28,7 +28,7 @@
  * dependent initialization is required.
  *
  * @author D. Onoprienko
- * @version $Id: RegionSegmenter.java,v 1.3 2007/10/09 18:08:46 onoprien Exp $
+ * @version $Id: RegionSegmenter.java,v 1.4 2008/02/17 00:54:28 onoprien Exp $
  */
 abstract public class RegionSegmenter extends AbstractSegmenter {
   

lcsim/src/org/lcsim/contrib/onoprien/tracking/geom
SegmentationManager.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- SegmentationManager.java	30 Oct 2007 02:25:42 -0000	1.11
+++ SegmentationManager.java	17 Feb 2008 00:54:28 -0000	1.12
@@ -18,16 +18,16 @@
 import org.lcsim.contrib.onoprien.tracking.transform.Rotation3D;
 
 /**
- * This class handles caching and run-time access to {@link Sensor} objects and segmentation information.
+ * This class handles creation, caching and run-time access to {@link Sensor} objects and segmentation information.
  * <p>
  * Typically, a <tt>Driver</tt> that controls event reconstruction creates an
  * instance of this class, supplying {@link Segmenter} object that defines virtual 
- * segmentation of the detector, and sets it as the default <tt>SegmentationManager</tt>
- * through a call to {@link SegmentationManager#setDefaultInstance}. See 
- * {@link org.lcsim.contrib.onoprien.tracking.ExampleDriver} for an example.
+ * segmentation of the detector, and adds it to the event processing chain before any
+ * drivers that need access to {@link Sensor}s. See {@link org.lcsim.contrib.onoprien.tracking.ExampleDriver1}
+ * or {@link org.lcsim.contrib.onoprien.tracking.ExampleDriver2}.
  * <p>
- * Other classes that need access to <tt>Sensors</tt> can then look up the default
- * <tt>SegmentationManager</tt> through a call to {@link SegmentationManager#defaultInstance}.
+ * Other drivers that need access to <tt>SegmentationManager</tt> can fetch it from the
+ * event record by calling <tt>event.get("SegmentationManager")</tt>.
  * <p>
  * By default, <tt>Sensor</tt> objects are created as needed (that is, when there are hits
  * in those sensors), and are kept in cache unless JVM starts running out of memory.
@@ -38,11 +38,12 @@
  * method in the future.
  *
  * @author D.Onoprienko
- * @version $Id: SegmentationManager.java,v 1.11 2007/10/30 02:25:42 onoprien Exp $
+ * @version $Id: SegmentationManager.java,v 1.12 2008/02/17 00:54:28 onoprien Exp $
  */
 public class SegmentationManager extends Driver implements ConditionsListener {
   
 // -- Constructors, initialization, and cleanup :  -----------------------------
+
   /**
    * Constructs a new instance of SegmentationManager.
    *

lcsim/src/org/lcsim/contrib/onoprien/tracking/geom
Segmenter.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- Segmenter.java	9 Oct 2007 18:08:46 -0000	1.7
+++ Segmenter.java	17 Feb 2008 00:54:28 -0000	1.8
@@ -13,7 +13,7 @@
  * {@link AbstractSegmenter} for details.
  *
  * @author D. Onoprienko
- * @version $Id: Segmenter.java,v 1.7 2007/10/09 18:08:46 onoprien Exp $
+ * @version $Id: Segmenter.java,v 1.8 2008/02/17 00:54:28 onoprien Exp $
  */
 public interface Segmenter {
   
@@ -31,12 +31,6 @@
   public int getSensorID(SimTrackerHit hit);
   
   /**
-   * Creates a new {@link Sensor} object given simulated hit.
-   * Returns <tt>null</tt> if the hit is outside of any sensor.
-   */
-  public Sensor getSensor(SimTrackerHit hit);
-  
-  /**
    * Creates a new {@link Sensor} object given full <tt>SensorID</tt>.
    */
   public Sensor getSensor(int sensorID);

lcsim/src/org/lcsim/contrib/onoprien/tracking/geom
SensorType.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- SensorType.java	12 Oct 2007 21:52:07 -0000	1.4
+++ SensorType.java	17 Feb 2008 00:54:28 -0000	1.5
@@ -7,14 +7,13 @@
 /**
  * Any class that implements this interface defines a particular shape of silicon
  * sensor and its segmentation into strips or pixels.
- * Current design assumes that the sensor is flat, all strips are rectangular and
- * parallel to each other, each strip or pixel has no more than one neighbor in each
- * direction. Reference frame on a sensor: (U, V, W). U is the measurement direction 
- * (in the sensor plane, perpendicular to strips), V is along the strips, W forms 
- * right-nahded system.
+ * Current design assumes that all strips are parallel to each other, each strip or 
+ * pixel has no more than one neighbor in each direction. Reference frame on a sensor: 
+ * (U, V, W). U is the measurement direction (in the sensor plane, perpendicular to 
+ * strips), V is along the strips, W forms right-nahded system.
  *
  * @author D.Onoprienko
- * @version $Id: SensorType.java,v 1.4 2007/10/12 21:52:07 onoprien Exp $
+ * @version $Id: SensorType.java,v 1.5 2008/02/17 00:54:28 onoprien Exp $
  */
 public interface SensorType {
 
CVSspam 0.2.8