6 modified files
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/algorithms
diff -u -r1.1 -r1.2
--- ComputeTrajectory_Basic.java 29 Mar 2009 23:44:23 -0000 1.1
+++ ComputeTrajectory_Basic.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -23,7 +23,7 @@
*
*
* @author D. Onoprienko
- * @version $Id: ComputeTrajectory_Basic.java,v 1.1 2009/03/29 23:44:23 onoprien Exp $
+ * @version $Id: ComputeTrajectory_Basic.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class ComputeTrajectory_Basic implements RosaryClusterer.ComputeTrajectory {
@@ -46,7 +46,7 @@
int _nDotsFit = 2;
- ArrayList<Node> tailDots = rosary.getTailNodes(_nDotsFit, Node.Type.DOT);
+ ArrayList<Node> tailDots = rosary.getHeadNodes(_nDotsFit, Node.Type.DOT);
int nDots = tailDots.size();
if (nDots > 2) {
// FIXME - Fit
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/algorithms
diff -u -r1.1 -r1.2
--- ReverseThreadingDirection_Basic.java 29 Mar 2009 23:44:23 -0000 1.1
+++ ReverseThreadingDirection_Basic.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -9,7 +9,7 @@
* See methods javadoc for details on algorithms and implementations.
*
* @author D. Onoprienko
- * @version $Id: ReverseThreadingDirection_Basic.java,v 1.1 2009/03/29 23:44:23 onoprien Exp $
+ * @version $Id: ReverseThreadingDirection_Basic.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class ReverseThreadingDirection_Basic implements RosaryClusterer.ReverseThreadingDirection {
@@ -29,6 +29,9 @@
* @param rosary Rosary being threaded.
*/
public boolean reverseThreadingDirection(Rosary rosary) {
+
+ //System.out.println("Called reverseThreadingDirection for Rosary "+ rosary);
+
Rosary.ThreadDirection thDir = rosary.getThreadingDirection();
if (thDir == Rosary.ThreadDirection.FORWARD) {
if (rosary.isTracked()) {
@@ -36,6 +39,7 @@
} else {
rosary.setThreadingDirection(Rosary.ThreadDirection.BACK);
rosary.reverseDirection();
+ System.out.println("reverseThreadingDirection returns true");
return true;
}
} else if (thDir == Rosary.ThreadDirection.BACK) {
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/algorithms
diff -u -r1.1 -r1.2
--- SearchForDots_NN.java 29 Mar 2009 23:44:23 -0000 1.1
+++ SearchForDots_NN.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -17,7 +17,7 @@
* See methods javadoc for details on algorithms and implementations.
*
* @author D. Onoprienko
- * @version $Id: SearchForDots_NN.java,v 1.1 2009/03/29 23:44:23 onoprien Exp $
+ * @version $Id: SearchForDots_NN.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class SearchForDots_NN implements RosaryClusterer.SearchForDots {
@@ -50,13 +50,21 @@
public List<Dot> searchForDots(Rosary rosary, Trajectory trajectory, LayerData layerData) {
Hep3Vector pos = trajectory.getPosition();
long cell = layerData.decoder.findCellContainingXYZ(pos);
+ System.out.println("projection "+ cell +" phi "+ Math.atan2(pos.y(), pos.x()) +" theta "+ Math.atan2(Math.hypot(pos.y(), pos.x()), pos.z()));
Dot dot = layerData.dotMap.get(cell);
ArrayList<Dot> out;
if (dot != null) {
out = new ArrayList<Dot>(1);
out.add(dot);
} else {
+ System.out.println("Dots ");
+ for (Dot d : layerData.dots) System.out.print(" "+ d.getHits().get(0).getCellID());
+ System.out.println("");
+ layerData.decoder.setID(cell);
long[] neighbors = layerData.decoder.getNeighbourIDs(0, 1, 1);
+ System.out.println("Neighbors ");
+ for (long c : neighbors) System.out.print(" "+ c);
+ System.out.println("");
HashSet<Dot> dotSet = new HashSet<Dot>();
for (long cellID : neighbors) {
dot = layerData.dotMap.get(cellID);
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/algorithms
diff -u -r1.1 -r1.2
--- SearchForProximityDots_NN.java 29 Mar 2009 23:44:23 -0000 1.1
+++ SearchForProximityDots_NN.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -21,7 +21,7 @@
* See methods javadoc for details on algorithms and implementations.
*
* @author D. Onoprienko
- * @version $Id: SearchForProximityDots_NN.java,v 1.1 2009/03/29 23:44:23 onoprien Exp $
+ * @version $Id: SearchForProximityDots_NN.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class SearchForProximityDots_NN implements RosaryClusterer.SearchForProximityDots {
@@ -54,7 +54,7 @@
* @param layerData Data for the current layer.
*/
public List<Dot> searchForProximityDots(Rosary rosary, Trajectory trajectory, LayerData layerData) {
- Dot oldDot = (Dot) rosary.getTailNode(DOT);
+ Dot oldDot = (Dot) rosary.getHeadNode(DOT);
Hep3Vector oldPos = oldDot.getPosition();
Hep3Vector newPos = _geom.getClosestPointOnLayer(oldPos, layerData.cruxLayer);
long cell = layerData.decoder.findCellContainingXYZ(newPos);
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/algorithms
diff -u -r1.1 -r1.2
--- Step_Basic.java 29 Mar 2009 23:44:24 -0000 1.1
+++ Step_Basic.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -21,7 +21,7 @@
* See methods javadoc for details on algorithms and implementations.
*
* @author D. Onoprienko
- * @version $Id: Step_Basic.java,v 1.1 2009/03/29 23:44:24 onoprien Exp $
+ * @version $Id: Step_Basic.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class Step_Basic implements RosaryClusterer.Step {
@@ -68,19 +68,25 @@
*/
public boolean step(Rosary rosary, Queue<Rosary> seeds) {
+ System.out.println("Step: last node "+ rosary.getHeadNode());
+
Trajectory trajectory = _clusterer.getComputeTrajectory().computeTrajectory(rosary);
- CalLayer currentLayer = rosary.getTailNode().getLayer();
+ CalLayer currentLayer = rosary.getHeadNode().getLayer();
CalLayer layer;
if (currentLayer == null) {
layer = _geom.propagateFromTracker(trajectory);
} else {
layer = _geom.propagateToNextLayer(currentLayer, trajectory);
}
+ _clusterer.display.get(rosary).add(trajectory.getPosition());
if (layer == null) {
return _clusterer.getReverseThreadingDirection().reverseThreadingDirection(rosary);
}
+ _clusterer.slicer.fillTrajectory(trajectory.getPosition(), layer, true);
+
List<Dot> dots = _clusterer.getSearchForDots().searchForDots(rosary, trajectory, _clusterer.getLayerDB().get(layer));
+ System.out.println("Found "+ dots.size() +" Dots");
int nDots = dots.size();
if (nDots > 0) {
rosary.addNode(dots.get(0));
@@ -92,6 +98,7 @@
} else {
Bead bead = _clusterer.getSearchForBead().searchForBead(rosary, trajectory, _clusterer.getLayerDB().get(layer));
if (bead != null) {
+ System.out.println("Found a Bead");
rosary.addNode(bead);
} else {
if (rosary.getNodeCount(DOT) == 1 && !rosary.isTracked()) {
@@ -105,9 +112,11 @@
seeds.add(branch);
}
} else {
+ System.out.println("Adding Crack");
rosary.addNode(new Crack(layer));
}
} else {
+ System.out.println("Adding Crack");
rosary.addNode(new Crack(layer));
}
}
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc/drivers
diff -u -r1.1 -r1.2
--- MipStubFinder.java 31 Mar 2009 03:55:37 -0000 1.1
+++ MipStubFinder.java 6 Apr 2009 19:49:26 -0000 1.2
@@ -1,5 +1,7 @@
package org.lcsim.contrib.onoprien.crux.itc.drivers;
+import java.util.logging.Level;
+
import org.lcsim.recon.cluster.nn.NearestNeighborClusterer;
import org.lcsim.contrib.onoprien.crux.itc.RosaryClusterer;
@@ -9,7 +11,7 @@
*
*
* @author D. Onoprienko
- * @version $Id: MipStubFinder.java,v 1.1 2009/03/31 03:55:37 onoprien Exp $
+ * @version $Id: MipStubFinder.java,v 1.2 2009/04/06 19:49:26 onoprien Exp $
*/
public class MipStubFinder extends RosaryClusterer {
@@ -21,13 +23,15 @@
public MipStubFinder() {
+ set("LOG_LEVEL", Level.FINEST);
+
FindDotsAndBeads_Basic findDotsAndBeads = new FindDotsAndBeads_Basic(this);
findDotsAndBeads.set("CLUSTERER", new NearestNeighborClusterer(1, 1, 0, 0, 0.));
findDotsAndBeads.set("DOT_SIZE_LIMIT", 1);
setFindDotsAndBeads(findDotsAndBeads);
ChooseSeedLayers_FirstN chooseSeedLayers = new ChooseSeedLayers_FirstN(this);
- chooseSeedLayers.set("N", 0);
+ chooseSeedLayers.set("N", 2);
setChooseSeedLayers(chooseSeedLayers);
setSeedFromTrack(new SeedFromTrack_Basic());
CVSspam 0.2.8