Print

Print


Commit in lcsim/src/org/lcsim/recon/pfa/structural on MAIN
ReclusterDTreeDriver.java+12-81.3 -> 1.4
MJC: Propagate bugfix for null pointer error in ReclusterDTreeDriver to main tree

lcsim/src/org/lcsim/recon/pfa/structural
ReclusterDTreeDriver.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- ReclusterDTreeDriver.java	27 Mar 2008 18:21:45 -0000	1.3
+++ ReclusterDTreeDriver.java	17 Apr 2008 13:31:03 -0000	1.4
@@ -33,7 +33,7 @@
   * in this package, which uses the implementation in
   * org.lcsim.recon.cluster.directedtree developed by NIU).
   *
-  * @version $Id: ReclusterDTreeDriver.java,v 1.3 2008/03/27 18:21:45 mcharles Exp $
+  * @version $Id: ReclusterDTreeDriver.java,v 1.4 2008/04/17 13:31:03 mcharles Exp $
   * @author Mat Charles <[log in to unmask]>
   */
 
@@ -2690,13 +2690,17 @@
 		// Require within a certain distance (sanity check)
 		Hep3Vector positionOfSeedHit = new BasicHep3Vector(seedHitToUse.getPosition());
 		Hep3Vector trackExtrapPointInLayer = debugTrackMatch.getExtrapolator().extendToECALLayer(getLayer(seedHitToUse));
-		double distForCut = VecOp.sub(positionOfSeedHit, trackExtrapPointInLayer).magnitude();
-		if (distForCut < 10.0) {
-		    // Within 1cm
-		    trackSeedHits.add(seedHitToUse);
-		    Hep3Vector tangent = VecOp.unit(VecOp.sub(interceptPointLayer1, interceptPointLayer0));
-		    mapTrackSeedToTangent.put(seedHitToUse, tangent);
-		    mapTrackToTrackSeed.put(tr, seedHitToUse);
+		// It's possible (but rare) for trackExtrapPointInLayer to be null -- e.g. if track just clipped the calorimeter
+		// and never entered layer 2. Watch for that case.
+		if (trackExtrapPointInLayer != null) {
+		    double distForCut = VecOp.sub(positionOfSeedHit, trackExtrapPointInLayer).magnitude();
+		    if (distForCut < 10.0) {
+		    	// Within 1cm
+		    	trackSeedHits.add(seedHitToUse);
+		    	Hep3Vector tangent = VecOp.unit(VecOp.sub(interceptPointLayer1, interceptPointLayer0));
+		    	mapTrackSeedToTangent.put(seedHitToUse, tangent);
+		    	mapTrackToTrackSeed.put(tr, seedHitToUse);
+		    }
 		}
 	    }
 	}
CVSspam 0.2.8