lcsim/src/org/lcsim/event/base
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();
}