Author: [log in to unmask]
Date: Wed Jul 1 03:25:14 2015
New Revision: 3213
Log:
Fix bug where a different crosser was used when adding rotated hits to the event.
Modified:
java/trunk/tracking/src/main/java/org/hps/recon/tracking/HelicalTrackHitDriver.java
Modified: java/trunk/tracking/src/main/java/org/hps/recon/tracking/HelicalTrackHitDriver.java
=============================================================================
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/HelicalTrackHitDriver.java (original)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/HelicalTrackHitDriver.java Wed Jul 1 03:25:14 2015
@@ -4,6 +4,7 @@
import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.Hep3Vector;
import hep.physics.vec.VecOp;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -11,6 +12,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+
import org.hps.recon.tracking.axial.HelicalTrack2DHit;
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.ITransform3D;
@@ -78,6 +80,7 @@
public HelicalTrackHitDriver() {
_crosser.setMaxSeparation(20.0);
_crosser.setTolerance(0.1);
+ _crosser.setEpsParallel(0.013);
_colnames.add("StripClusterer_SiTrackerHitStrip1D");
}
@@ -133,6 +136,14 @@
this._debug = debug;
}
+ public void setEpsParallel(double eps) {
+ this._crosser.setEpsParallel(eps);
+ }
+
+ public void setEpsStereo(double eps) {
+ this._crosser.setEpsStereoAngle(eps);
+ }
+
/**
*
* @param trans
@@ -618,7 +629,16 @@
System.out.printf("%s: adding rotated strip with origin %s and u %s v %s w %s \n", getClass().toString(), newstrip.origin().toString(), newstrip.u().toString(), newstrip.v().toString(), newstrip.w().toString());
}
}
- HelicalTrackCross newhit = new HelicalTrackCross(rotatedstriphits.get(0), rotatedstriphits.get(1));
+ List<HelicalTrackStrip> strip1 = new ArrayList<HelicalTrackStrip>();
+ List<HelicalTrackStrip> strip2 = new ArrayList<HelicalTrackStrip>();
+ strip1.add(rotatedstriphits.get(0));
+ strip2.add(rotatedstriphits.get(1));
+ List<HelicalTrackCross> newhits = _crosser.MakeHits(strip1, strip2);
+ if(newhits.size()!=1) {
+ throw new RuntimeException("no rotated cross was created!?");
+ }
+ HelicalTrackCross newhit = newhits.get(0);
+ //HelicalTrackCross newhit = new HelicalTrackCross(rotatedstriphits.get(0), rotatedstriphits.get(1));
for (MCParticle mcp : cross.getMCParticles()) {
newhit.addMCParticle(mcp);
}
|