Print

Print


Commit in lcsim/src/org/lcsim/contrib/JanStrube/tracking on MAIN
.cvsignore-11.1 removed
SwimmerTest.py-201.3 removed
TrackingCalculator.py-1391.3 removed
TrackingCalculator.pyc[binary]1.1 removed
-160
4 removed files


lcsim/src/org/lcsim/contrib/JanStrube/tracking
.cvsignore removed after 1.1
diff -N .cvsignore
--- .cvsignore	18 Jul 2006 20:50:37 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1 +0,0 @@
-*.swp

lcsim/src/org/lcsim/contrib/JanStrube/tracking
SwimmerTest.py removed after 1.3
diff -N SwimmerTest.py
--- SwimmerTest.py	19 Jul 2006 23:14:01 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,20 +0,0 @@
-from TrackingCalculator import *
-
-point = ThreeVector(3, .5, 1)
-momentum = ThreeVector(2, 2, 1)
-t1 = ArbTrack(momentum=momentum, position=point, charge=-1)
-print t1
-
-
-par = t1.parameters
-m = Measurement()
-m.d0 = par.d0
-m.pt = par.pt
-m.phi0 = par.phi0
-m.tanLambda = par.tanLambda
-m.omega = par.omega
-m.z0 = par.z0
-
-print ArbTrack(parameters=m)
-
-

lcsim/src/org/lcsim/contrib/JanStrube/tracking
TrackingCalculator.py removed after 1.3
diff -N TrackingCalculator.py
--- TrackingCalculator.py	19 Jul 2006 23:14:01 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,139 +0,0 @@
-"""
-TrackingCalculator.py
-This little tool provides functions to calculate back and forth
-between the space-momentum and the 5 parameter helix representations
-of a track
-
-    Jan Strube, Jul 2006
-"""
-from math import sin, cos, sqrt, atan2, atan
-from __future__ import division
-
-class ThreeVector:    
-    def __init__(self, x=0, y=0, z=0):
-        self.x = x
-        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
-        self.phi0 = 0
-        self.tanLambda = 0
-        self.omega = 0
-        self.z0 = 0
-        self.pt = 0
-        
-        
-class Track:
-    fieldConst = 3333.566*5.
-    
-    def __init__(self, momentum=None, position=None, charge=None, parameters=None, refPoint=ThreeVector()):
-        self.refPoint = refPoint
-        if parameters is None:
-            self.momentum = momentum
-            self.origin = position
-            self.charge = charge
-            self.parameters = Measurement()
-            self.calc5VecFromSpaceMomentum()
-        else:
-            self.parameters = parameters
-            self.charge = self.parameters.omega*self.parameters.pt/Track.fieldConst
-            self.origin = self.getOriginPoint()
-            self.momentum = self.getOriginMomentum()
-        
-        
-    def getOriginPoint(self):
-        par = self.parameters
-        x = self.refPoint.x - par.d0*sin(par.phi0)
-        y = self.refPoint.y + par.d0*cos(par.phi0)
-        z = self.refPoint.z + par.z0
-        return ThreeVector(x, y, z)
-            
-    def getOriginMomentum(self):
-        par = self.parameters
-        pt = Track.fieldConst * abs(self.charge/par.omega)
-        px = pt*cos(par.phi0)
-        py = pt*sin(par.phi0)
-        pz = pt*par.tanLambda
-        return ThreeVector(px, py, pz)
-
-    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)
-        print sqrt((self.origin.x-self.refPoint.x)**2 + (self.origin.y-self.refPoint.y)**2)
-        par.z0 = self.origin.z -  self.refPoint.z
-        par.pt = sqrt(self.momentum.x**2 + self.momentum.y**2)
-        par.tanLambda = self.momentum.z/par.pt
-        par.omega = self.charge*Track.fieldConst/par.pt
-    
-    def __str__(self):
-        par = self.parameters
-        repr = ""
-        repr += "TrackParameters: \n"
-        repr += "d0: %s\nphi0: %s\nomega: %s\ntanLambda: %s\nz0: %s\npt: %s\n" % (
-                 par.d0, par.phi0, par.omega, par.tanLambda, par.z0, par.pt)
-        repr += "Spacial Rep:\n"
-        pos = self.origin
-        repr += "x: %s\ny: %s\nz: %s\n" % (pos.x, pos.y, pos.z)
-        mom = self.momentum
-        repr += "px: %s\npy: %s\npz: %s\n" % (mom.x, mom.y, mom.z)
-        return repr
-
-class ArbTrack(Track):
-    def __init__(self, momentum=None, position=None, charge=None, parameters=None, refPoint=ThreeVector()):
-        self.refPoint = refPoint
-        if parameters is None:
-            self.momentum = momentum
-            self.origin = position
-            self.charge = charge
-            self.parameters = Measurement()
-            self.calc5VecFromSpaceMomentum()
-        else:
-            self.parameters = parameters
-            self.charge = self.parameters.omega*self.parameters.pt/Track.fieldConst
-            self.origin = self.getOriginPoint(0)
-            self.momentum = self.getOriginMomentum(0)
-            
-    def calc5VecFromSpaceMomentum(self):
-        par = self.parameters
-        mom = self.momentum
-        pos = self.origin
-        ref = self.refPoint
-        x0 = pos.x-ref.x
-        y0 = pos.y-ref.y
-        px0 = mom.x - Track.fieldConst*y0*self.charge
-        py0 = mom.y + Track.fieldConst*x0*self.charge
-        pt0 = sqrt(px0*px0 + py0*py0)
-        phi = atan(mom.y / mom.x)
-        par.pt = sqrt(mom.x*mom.x + mom.y*mom.y)
-        self.l = (atan(py0 / px0) - phi)*par.pt/self.charge/Track.fieldConst
-        par.d0 = (par.pt-pt0)/(Track.fieldConst*self.charge)
-        par.phi0 = atan(py0 / px0)
-        par.omega = self.charge*Track.fieldConst/par.pt
-        par.z0 = pos.z-ref.z-l*mom.z/par.pt
-        par.tanLambda = mom.z/par.pt
-        
-    def getOriginPoint(self, l):
-        ref = self.refPoint
-        par = self.parameters
-        r = 1./par.omega
-        phi = par.phi0 - par.omega*l
-        x = ref.x + (r-par.d0)*sin(par.phi0) - r*sin(phi)
-        y = ref.y - (r-par.d0)*cos(par.phi0) + r*cos(phi)
-        z = ref.z + par.z0 + l*par.tanLambda
-        return ThreeVector(x, y, z)
-        
-    def getOriginMomentum(self, l):
-        par = self.parameters
-        phi = par.phi0 - par.omega*l
-        x = par.pt*cos(phi)
-        y = par.pt*sin(phi)
-        z = par.pt*par.tanLambda
-        return ThreeVector(x, y, z)
-        
CVSspam 0.2.8