Print

Print


Commit in lcsim/src/org/lcsim/event/base on MAIN
BaseTrack.java+7-41.4 -> 1.5
calculate charge from sign of curvature.
Transverse momentum is always positive.
Added momentum components to print.

lcsim/src/org/lcsim/event/base
BaseTrack.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- BaseTrack.java	28 Mar 2006 19:51:37 -0000	1.4
+++ BaseTrack.java	29 Mar 2006 18:51:26 -0000	1.5
@@ -3,7 +3,7 @@
  *
  * Created on March 24, 2006, 9:18 PM
  *
- * $Id: BaseTrack.java,v 1.4 2006/03/28 19:51:37 ngraf Exp $
+ * $Id: BaseTrack.java,v 1.5 2006/03/29 18:51:26 ngraf Exp $
  */
 
 package org.lcsim.event.base;
@@ -13,6 +13,8 @@
 import org.lcsim.event.Track;
 import org.lcsim.event.TrackerHit;
 
+import static java.lang.Math.abs;
+import static java.lang.Math.signum;
 /**
  *
  * @author Norman Graf
@@ -83,16 +85,16 @@
      * @param params The array of track parameters.
      */
     // TODO remove hard-coded track parameter indices.
-    // TODO calculate charge from omega.
     public void setTrackParameters(double[] params, double magneticField)
     {
         System.arraycopy(params, 0, _parameters, 0, 5);
         double omega = _parameters[2];
-        if(Math.abs(omega) < 0.0000001) omega=0.0000001;
-        double Pt = (1./omega) * magneticField* Constants.fieldConversion;
+        if(abs(omega) < 0.0000001) omega=0.0000001;
+        double Pt = abs((1./omega) * magneticField* Constants.fieldConversion);
         _momentum[0] = Pt * Math.cos(_parameters[1]);
         _momentum[1] = Pt * Math.sin(_parameters[1]);
         _momentum[2] = Pt * _parameters[4];
+        _charge = (int) signum(omega);
     }
     
     /**
@@ -182,6 +184,7 @@
         sb.append("curvature: "+_parameters[2]+"\n");
         sb.append("z0= "+_parameters[3]+"\n");
         sb.append("tanLambda= "+_parameters[4]+"\n");
+        sb.append(" px="+getPX()+" py= "+getPY()+" pz= "+getPZ());
         return sb.toString();
     }
     
CVSspam 0.2.8