lcsim/src/org/lcsim/contrib/onoprien/tracking
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
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