Print

Print


Commit in lcsim/src/org/lcsim/recon/tracking/digitization/sisim on MAIN
Clusterer.java+1-11.2 -> 1.3
ClusteringAlgorithm.java+2-11.1 -> 1.2
NearestNeighbor.java+6-31.1 -> 1.2
PixelHitMaker.java+3-31.3 -> 1.4
StripHitMaker.java+3-31.3 -> 1.4
+15-11
5 modified files
Get the identifier helper from the sensor rather than the raw hit - raw hit doesn't always provide the helper (suspion is the problem is for noise hits)

lcsim/src/org/lcsim/recon/tracking/digitization/sisim
Clusterer.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- Clusterer.java	7 May 2009 22:36:21 -0000	1.2
+++ Clusterer.java	7 May 2009 23:57:17 -0000	1.3
@@ -27,5 +27,5 @@
     
     public List<SiTrackerHit> makeHits(SiSensor sensor);
     
-    public List<SiTrackerHit> makeHits(SiSensorElectrodes electrodes, List<RawTrackerHit> hits);
+    public List<SiTrackerHit> makeHits(SiSensor sensor, SiSensorElectrodes electrodes, List<RawTrackerHit> hits);
 }

lcsim/src/org/lcsim/recon/tracking/digitization/sisim
ClusteringAlgorithm.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- ClusteringAlgorithm.java	7 May 2009 22:36:21 -0000	1.1
+++ ClusteringAlgorithm.java	7 May 2009 23:57:17 -0000	1.2
@@ -7,6 +7,7 @@
 
 import java.util.List;
 
+import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
 import org.lcsim.event.RawTrackerHit;
 
@@ -29,7 +30,7 @@
      * @param hits raw hits
      * @return list of clusters, with each cluster being a list of RawTrackerHits
      */
-    public List<List<RawTrackerHit>> findClusters(SiSensorElectrodes electrodes,
+    public List<List<RawTrackerHit>> findClusters(SiSensor sensor, SiSensorElectrodes electrodes,
             ReadoutChip readout, List<RawTrackerHit> hits);
 
 }
\ No newline at end of file

lcsim/src/org/lcsim/recon/tracking/digitization/sisim
NearestNeighbor.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- NearestNeighbor.java	7 May 2009 22:36:21 -0000	1.1
+++ NearestNeighbor.java	7 May 2009 23:57:17 -0000	1.2
@@ -10,6 +10,7 @@
 import java.util.Map;
 import java.util.Set;
 import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.tracker.silicon.SiSensor;
 import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
 import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.event.RawTrackerHit;
@@ -117,7 +118,7 @@
      * @param raw_hits List of RawTrackerHits to be clustered
      * @return list of clusters, with a cluster being a list of RawTrackerHits
      */
-    public List<List<RawTrackerHit>> findClusters(SiSensorElectrodes electrodes,
+    public List<List<RawTrackerHit>> findClusters(SiSensor sensor, SiSensorElectrodes electrodes,
             ReadoutChip readout_chip, List<RawTrackerHit> raw_hits) {
 
         //  Check that the seed threshold is at least as large as  the neighbor threshold
@@ -125,6 +126,9 @@
             throw new RuntimeException("Tracker hit clustering error: seed threshold below neighbor threshold");
         }
 
+        //  Get the identifier helper for this sensor
+        SiTrackerIdentifierHelper sid_helper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();
+
         //  Create maps that show the channel status and relate the channel number to the raw hit and vice versa
         Map<Integer, Boolean> clusterable = new HashMap<Integer, Boolean>();
         Map<RawTrackerHit, Integer> hit_to_channel = new HashMap<RawTrackerHit, Integer>();
@@ -139,8 +143,7 @@
 
             // get the channel number for this hit
             IIdentifier id = raw_hit.getIdentifier();
-            SiTrackerIdentifierHelper _sid_helper = (SiTrackerIdentifierHelper) raw_hit.getIdentifierHelper();
-            int channel_number = _sid_helper.getElectrodeValue(id);
+            int channel_number = sid_helper.getElectrodeValue(id);
 
             //  Check for duplicate RawTrackerHits or channel numberss
             if (hit_to_channel.containsKey(raw_hit) || channel_to_hit.containsKey(channel_number)) {

lcsim/src/org/lcsim/recon/tracking/digitization/sisim
PixelHitMaker.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- PixelHitMaker.java	7 May 2009 22:36:21 -0000	1.3
+++ PixelHitMaker.java	7 May 2009 23:57:17 -0000	1.4
@@ -164,7 +164,7 @@
         
         for (Entry entry : electrode_hits.entrySet())
         {
-            hits.addAll(makeHits((SiPixels)entry.getKey(),(List<RawTrackerHit>)entry.getValue()));
+            hits.addAll(makeHits(sensor, (SiPixels)entry.getKey(),(List<RawTrackerHit>)entry.getValue()));
         }
         
         return hits;
@@ -175,11 +175,11 @@
     //=========================
     
     // Make hits for an electrode
-    public List<SiTrackerHit> makeHits(SiSensorElectrodes electrodes, List<RawTrackerHit> raw_hits)
+    public List<SiTrackerHit> makeHits(SiSensor sensor, SiSensorElectrodes electrodes, List<RawTrackerHit> raw_hits)
     {
 
         //  Call the clustering algorithm to make clusters
-        List<List<RawTrackerHit>> cluster_list = _clustering.findClusters(electrodes, _readout_chip, raw_hits);
+        List<List<RawTrackerHit>> cluster_list = _clustering.findClusters(sensor, electrodes, _readout_chip, raw_hits);
 
         //  Create an empty list for the pixel hits to be formed from clusters
         List<SiTrackerHit> hits = new ArrayList<SiTrackerHit>();

lcsim/src/org/lcsim/recon/tracking/digitization/sisim
StripHitMaker.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- StripHitMaker.java	7 May 2009 23:20:31 -0000	1.3
+++ StripHitMaker.java	7 May 2009 23:57:17 -0000	1.4
@@ -169,7 +169,7 @@
         
         for (Entry entry : electrode_hits.entrySet())
         {
-            hits.addAll(makeHits((SiStrips)entry.getKey(),(List<RawTrackerHit>)entry.getValue()));
+            hits.addAll(makeHits(sensor, (SiStrips)entry.getKey(),(List<RawTrackerHit>)entry.getValue()));
         }
         
         return hits;
@@ -180,11 +180,11 @@
     //=========================
     
     // Make hits for an electrode
-    public List<SiTrackerHit> makeHits(SiSensorElectrodes electrodes, List<RawTrackerHit> raw_hits)
+    public List<SiTrackerHit> makeHits(SiSensor sensor, SiSensorElectrodes electrodes, List<RawTrackerHit> raw_hits)
     {
 
         //  Call the clustering algorithm to make clusters
-        List<List<RawTrackerHit>> cluster_list = _clustering.findClusters(electrodes, _readout_chip, raw_hits);
+        List<List<RawTrackerHit>> cluster_list = _clustering.findClusters(sensor, electrodes, _readout_chip, raw_hits);
 
         //  Create an empty list for the pixel hits to be formed from clusters
         List<SiTrackerHit> hits = new ArrayList<SiTrackerHit>();
CVSspam 0.2.8