Print

Print


Commit in lcsim on MAIN
src/org/lcsim/contrib/JanStrube/tracking/SwimmerTest.py+5-41.1 -> 1.2
                                        /TrackingCalculator.py+6-31.1 -> 1.2
test/org/lcsim/contrib/JanStrube/tracking/HelixSwimmerTrackConsistencyTest.java+10-11.2 -> 1.3
+21-8
3 modified files
added another unit test

lcsim/src/org/lcsim/contrib/JanStrube/tracking
SwimmerTest.py 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- SwimmerTest.py	18 Jul 2006 13:20:41 -0000	1.1
+++ SwimmerTest.py	19 Jul 2006 04:01:58 -0000	1.2
@@ -1,10 +1,11 @@
 from TrackingCalculator import *
 
-point = ThreeVector(1, 0, 1)
-momentum = ThreeVector(3, 2, 1)
-t1 = ArbTrack(momentum=momentum, position=point, charge=-1)
+point = ThreeVector(1, .5, 1)
+momentum = ThreeVector(2, 2, 1)
+t1 = Track(momentum=momentum, position=point, charge=-1)
 print t1
 
+
 par = t1.parameters
 m = Measurement()
 m.d0 = par.d0
@@ -14,6 +15,6 @@
 m.omega = par.omega
 m.z0 = par.z0
 
-print ArbTrack(parameters=m)
+print Track(parameters=m)
 
 

lcsim/src/org/lcsim/contrib/JanStrube/tracking
TrackingCalculator.py 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TrackingCalculator.py	18 Jul 2006 13:20:41 -0000	1.1
+++ TrackingCalculator.py	19 Jul 2006 04:01:58 -0000	1.2
@@ -15,6 +15,10 @@
         self.y = y
         self.z = z
         
+    def __str__(self):
+	return 'x: %f\ny: %f\nz: %f\n' % (self.x, self.y, self.z)
+
+
 class Measurement:
     def __init__(self):
         self.d0 = 0
@@ -61,8 +65,7 @@
     def calc5VecFromSpaceMomentum(self):
         par = self.parameters
         par.phi0 = atan2(self.momentum.y, self.momentum.x)
-        par.d0 = -(self.origin.x - self.refPoint.x)*sin(par.phi0) \
-            + (self.origin.y-self.refPoint.y)*cos(par.phi0)
+        par.d0 = sqrt(self.origin.x**2 + self.origin.y**2)#- (self.origin.x - self.refPoint.x)*sin(par.phi0) + (self.origin.y-self.refPoint.y)*cos(par.phi0)
         par.z0 = self.origin.z -  self.refPoint.z
         par.pt = sqrt(self.momentum.x*self.momentum.x + 
                       self.momentum.y*self.momentum.y)
@@ -133,4 +136,4 @@
         y = par.pt*sin(phi)
         z = par.pt*par.tanLambda
         return ThreeVector(x, y, z)
-        
\ No newline at end of file
+        

lcsim/test/org/lcsim/contrib/JanStrube/tracking
HelixSwimmerTrackConsistencyTest.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- HelixSwimmerTrackConsistencyTest.java	18 Jul 2006 13:20:43 -0000	1.2
+++ HelixSwimmerTrackConsistencyTest.java	19 Jul 2006 04:01:59 -0000	1.3
@@ -1,5 +1,5 @@
 /**
- * @version $Id: HelixSwimmerTrackConsistencyTest.java,v 1.2 2006/07/18 13:20:43 jstrube Exp $
+ * @version $Id: HelixSwimmerTrackConsistencyTest.java,v 1.3 2006/07/19 04:01:59 jstrube Exp $
  */
 package org.lcsim.contrib.JanStrube.tracking;
 
@@ -8,6 +8,7 @@
 import org.lcsim.contrib.JanStrube.tracking.HelixSwimmer;
 import org.lcsim.contrib.JanStrube.tracking.NewFastMCTrackFactory;
 import org.lcsim.contrib.JanStrube.tracking.Track;
+import org.lcsim.recon.vertexing.zvtop4.VectorArithmetic;
 import org.lcsim.spacegeom.CartesianPoint;
 import org.lcsim.spacegeom.SpacePoint;
 
@@ -82,6 +83,13 @@
         SpacePoint p1 = new CartesianPoint(7, 7, 7);
         assertEquals(swimmerRaw.getTrackLengthToPoint(p1), swimmerTrack.getTrackLengthToPoint(p1)+alpha, 1e-3);
         
+        // d0 is the distance between P0 and Pref in the x-y plane
+        double d0 = t.getParameter(Track.ParameterName.d0);
+        SpacePoint origin = swimmerTrack.getPointAtDistance(0);
+        double dist = VectorArithmetic.subtract(origin, t.getReferencePoint()).rxy();
+        assertEquals(d0, dist, 5e-4);
+        
+        
         double phi = atan2(momentum.y(), momentum.x());
         double phi_0 = t.getParameter(Track.ParameterName.phi0);
         double omega = t.getParameter(Track.ParameterName.omega);
@@ -92,6 +100,7 @@
         double tanLambda = t.getParameter(Track.ParameterName.tanLambda);
         double cosLambda = 1 / sqrt(1+tanLambda*tanLambda);
         
+        
         System.out.println(swimmerRaw.getPointAtDistance(alpha/cosLambda));
         System.out.println(swimmerTrack.getPointAtDistance(-alpha));
         System.out.printf("Pt: %f\n",  t.getPt());
CVSspam 0.2.8