Commit in lcsim/src/org/lcsim/contrib/onoprien/tracking on MAIN
ExampleDriver.java+3-11.5 -> 1.6
digitization/DigitizationDriver.java+25-51.3 -> 1.4
+28-6
2 modified files


lcsim/src/org/lcsim/contrib/onoprien/tracking
ExampleDriver.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- ExampleDriver.java	20 May 2007 03:33:24 -0000	1.5
+++ ExampleDriver.java	21 May 2007 04:08:09 -0000	1.6
@@ -21,7 +21,7 @@
 /**
  *
  * @author D.Onoprienko
- * @version $Id: ExampleDriver.java,v 1.5 2007/05/20 03:33:24 onoprien Exp $
+ * @version $Id: ExampleDriver.java,v 1.6 2007/05/21 04:08:09 onoprien Exp $
  */
 public class ExampleDriver extends Driver {
   
@@ -67,6 +67,8 @@
     digitizationDriver.setOutputCollection("DigiHits");
     add(digitizationDriver);
     
+//    digitizationDriver.setHistogramLevel(HLEVEL_FULL);
+    
     ClusteringDriver clusteringDriver = new ClusteringDriver();
     clusteringDriver.set("INPUT_MAP_NAME","DigiHits");
     clusteringDriver.set("OUTPUT_MAP_NAME","ClusterData");

lcsim/src/org/lcsim/contrib/onoprien/tracking/digitization
DigitizationDriver.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- DigitizationDriver.java	20 May 2007 03:33:24 -0000	1.3
+++ DigitizationDriver.java	21 May 2007 04:08:09 -0000	1.4
@@ -17,6 +17,8 @@
 import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
 import org.lcsim.contrib.onoprien.tracking.hit.base.DigiTrackerHitComposite;
 
+//import org.lcsim.contrib.onoprien.tracking.digitization.diagnostics.*;
+
 /**
  * Driver that handles conversion of {@link SimTrackerHit} objects collections
  * found in a simulated event into a collection of {@link DigiTrackerHit}s.
@@ -33,7 +35,7 @@
  * in the constructor.
  *
  * @author D.Onoprienko
- * @version $Id: DigitizationDriver.java,v 1.3 2007/05/20 03:33:24 onoprien Exp $
+ * @version $Id: DigitizationDriver.java,v 1.4 2007/05/21 04:08:09 onoprien Exp $
  */
 public class DigitizationDriver extends Driver {
   
@@ -119,7 +121,7 @@
     
     HashMap<Sensor, ArrayList<DigiTrackerHit>> outMap = new HashMap<Sensor, ArrayList<DigiTrackerHit>>();
 
-    // Loop over input collectirons :
+    // Loop over input collections :
     
     for (List<SimTrackerHit> hitList : collections) {
       
@@ -150,7 +152,9 @@
       // Call Digitizer for each group, add resulting digis to the output map
       
       for (LinkedList<SimTrackerHit> group : groupList) {
+        
         List<DigiTrackerHit> digiGroup = _digitizer.digitize(group);
+//        if (getHistogramLevel() >= HLEVEL_FULL) DigitizerTest.plotGroup(group, digiGroup);
         
         Sensor prevSensor = null;
         ArrayList<DigiTrackerHit> digiList = null;
@@ -170,18 +174,30 @@
 
     } // end of loop over input collections
     
-    //System.out.println("Out map: keys "+ outMap.keySet().size() +" values "+ outMap.values().size());
-    
     // Combine and sort DigiTrackerHits in each list
     
+//      System.out.println("Map before:");
+//      for (ArrayList<DigiTrackerHit> list : outMap.values()) System.out.print(" "+list.size());
+//      System.out.println(" ");
+    
+    
     for (ArrayList<DigiTrackerHit> dList : outMap.values()) {
       Collections.sort(dList);
-      DigiTrackerHit[] copy = dList.toArray(new DigiTrackerHit[dList.size()]);
+      DigiTrackerHit[] copy = dList.toArray(new DigiTrackerHit[dList.size()+1]);
       dList.clear();
       int previousChannel = -1;
       DigiTrackerHit previousHit = null;
       DigiTrackerHitComposite compHit = null;
       for (DigiTrackerHit hit : copy) {
+        if (hit == null) {
+          if (compHit == null) {
+            if (previousHit != null) dList.add(previousHit);
+          } else {
+            compHit.trimToSize();
+            dList.add(compHit);
+          }
+          break;
+        }
         int channelID = hit.getChannel();
         if (channelID == previousChannel) {
           if (compHit == null) {
@@ -203,6 +219,10 @@
       }
       dList.trimToSize();
     }
+      
+//      System.out.println("Map after:");
+//      for (ArrayList<DigiTrackerHit> list : outMap.values()) System.out.print(" "+list.size());
+//      System.out.println(" ");
     
     // Put the map back into the event
     
CVSspam 0.2.8