lcsim/src/org/lcsim/recon/cluster/directedtree
diff -N TrackPSort.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TrackPSort.java 15 Mar 2006 12:28:22 -0000 1.1
@@ -0,0 +1,26 @@
+package org.lcsim.recon.cluster.directedtree;
+
+import java.util.Comparator;
+import org.lcsim.event.Track;
+
+/**
+ * A comparator useful for sorting tracks according to momentum
+ *
+ * Usage: Collections.sort( aTrackCollection, new TrackESort() );
+ *
+ * @author Guilherme Lima
+ * @version $Id: TrackPSort.java,v 1.1 2006/03/15 12:28:22 lima Exp $
+ */
+public class TrackPSort implements Comparator<Track>
+{
+ public int compare(Track t1, Track t2)
+ {
+ double[] p1 = t1.getMomentum();
+ double[] p2 = t2.getMomentum();
+ double mag1 = Math.sqrt(p1[0]*p1[0] + p1[1]*p1[1] + p1[2]*p1[2]);
+ double mag2 = Math.sqrt(p2[0]*p2[0] + p2[1]*p2[1] + p2[2]*p2[2]);
+ if( mag1 > mag2 ) return -1;
+ if( mag1 < mag2 ) return 1;
+ return 0;
+ }
+}