4 modified files
lcsim/src/org/lcsim/contrib/JanStrube
diff -u -r1.2 -r1.3
--- .cvsignore 28 Jun 2006 04:48:34 -0000 1.2
+++ .cvsignore 17 Aug 2007 16:20:33 -0000 1.3
@@ -2,3 +2,4 @@
fastmc.aida
t.aida
ReconParticleTestDriver.py
+*.class
lcsim/src/org/lcsim/contrib/LeiXia
diff -u -r1.2 -r1.3
--- rpc_PFA_np.java 20 Feb 2007 20:42:03 -0000 1.2
+++ rpc_PFA_np.java 17 Aug 2007 16:20:33 -0000 1.3
@@ -5,13 +5,18 @@
import org.lcsim.event.EventHeader;
import org.lcsim.event.MCParticle;
import org.lcsim.event.SimCalorimeterHit;
+import org.lcsim.spacegeom.CartesianPoint;
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
+import org.lcsim.util.swim.Helix;
+import org.lcsim.util.swim.HelixSwimmer;
+
import hep.physics.vec.*;
-import org.lcsim.util.swim.HelixSwim;
-/*
+/**
* Reconstruction: SiD study (rpc active medium) - non projective
+ * @author Lei Xia <[log in to unmask]>
+ * @version $Id: rpc_PFA_np.java,v 1.3 2007/08/17 16:20:33 jstrube Exp $
*/
public class rpc_PFA_np extends Driver
@@ -1609,11 +1614,14 @@
else if (mc.getCharge() < -0.1) trackq = -1;
else trackq = 0; // hope this never happens!
- HelixSwim swimmer = new HelixSwim(5., trackp, tracko, trackq); // swimmer in 5T B field along Z+
-
+ HelixSwimmer swimmer = new HelixSwimmer(5.); // swimmer in 5T B field along Z+
+ swimmer.setTrack(new CartesianPoint(trackp), new CartesianPoint(tracko), trackq);
+ // , , ,
+
List<double[]> TrackPoint = new ArrayList<double[]>();
+
double length = 10.; // this value should be as small as possible!
- double R = swimmer.getRc();
+ double R = ((Helix) swimmer.getTrajectory()).getRadius();
int done = 0;
double[] save = new double[3];
@@ -1623,7 +1631,7 @@
length += 10.; // real track length in mm
double alpha = length/R; // convert to radians
- tmp = swimmer.swimBy(alpha); // swimmer uses radians
+ tmp = swimmer.getPointAtDistance(alpha).v(); // swimmer uses radians
if ((Math.sqrt(tmp[0]*tmp[0]+tmp[1]*tmp[1])>1270.)||(Math.abs(tmp[2])>1680.)) TrackPoint.add(tmp);
lcsim/src/org/lcsim/contrib/LeiXia
diff -u -r1.2 -r1.3
--- rpc_PFA_np_hmx.java 20 Feb 2007 20:42:03 -0000 1.2
+++ rpc_PFA_np_hmx.java 17 Aug 2007 16:20:33 -0000 1.3
@@ -8,12 +8,16 @@
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
import hep.physics.vec.*;
-import org.lcsim.util.swim.HelixSwim;
+
+import org.lcsim.util.swim.Helix;
+import org.lcsim.util.swim.HelixSwimmer;
import hep.aida.*;
import org.lcsim.recon.emid.hmatrix.HMatrix;
import org.lcsim.recon.emid.hmatrix.HMatrixTask;
import org.lcsim.recon.emid.hmatrix.HMatrixBuilder;
import org.lcsim.recon.emid.hmatrix.HMatrixConditionsConverter;
+import org.lcsim.spacegeom.CartesianPoint;
+import org.lcsim.spacegeom.CartesianVector;
import org.lcsim.math.chisq.ChisqProb;
/*
@@ -1751,11 +1755,12 @@
else if (mc.getCharge() < -0.1) trackq = -1;
else trackq = 0; // hope this never happens!
- HelixSwim swimmer = new HelixSwim(5., trackp, tracko, trackq); // swimmer in 5T B field along Z+
+ HelixSwimmer swimmer = new HelixSwimmer(5.);
+ swimmer.setTrack(new CartesianVector(trackp), new CartesianPoint(tracko), trackq); // swimmer in 5T B field along Z+
List<double[]> TrackPoint = new ArrayList<double[]>();
double length = 10.; // this value should be as small as possible!
- double R = swimmer.getRc();
+ double R = ((Helix)swimmer.getTrajectory()).getRadius();
int done = 0;
double[] save = new double[3];
@@ -1765,7 +1770,7 @@
length += 10.; // real track length in mm
double alpha = length/R; // convert to radians
- tmp = swimmer.swimBy(alpha); // swimmer uses radians
+ tmp = swimmer.getPointAtDistance(alpha).v(); // swimmer uses radians
tmp[2] = tracko[2] + length*trackp[2]/Math.sqrt(trackp[0]*trackp[0]+trackp[1]*trackp[1]); // this is to fix a bug in org.lcsim new release, which always gives tmp[2] = 0
if ((Math.sqrt(tmp[0]*tmp[0]+tmp[1]*tmp[1])>1270.)||(Math.abs(tmp[2])>1680.)) TrackPoint.add(tmp);
lcsim/src/org/lcsim/contrib/LeiXia
diff -u -r1.3 -r1.4
--- rpc_PFA_np_hmx_ilc090_g2.java 20 Feb 2007 20:42:03 -0000 1.3
+++ rpc_PFA_np_hmx_ilc090_g2.java 17 Aug 2007 16:20:33 -0000 1.4
@@ -8,12 +8,15 @@
import org.lcsim.util.Driver;
import org.lcsim.util.aida.AIDA;
import hep.physics.vec.*;
-import org.lcsim.util.swim.HelixSwim;
+
+import org.lcsim.util.swim.Helix;
+import org.lcsim.util.swim.HelixSwimmer;
import hep.aida.*;
import org.lcsim.recon.emid.hmatrix.HMatrix;
import org.lcsim.recon.emid.hmatrix.HMatrixTask;
import org.lcsim.recon.emid.hmatrix.HMatrixBuilder;
import org.lcsim.recon.emid.hmatrix.HMatrixConditionsConverter;
+import org.lcsim.spacegeom.CartesianPoint;
import org.lcsim.math.chisq.ChisqProb;
/*
@@ -1855,11 +1858,12 @@
else if (mc.getCharge() < -0.1) trackq = -1;
else trackq = 0; // hope this never happens!
- HelixSwim swimmer = new HelixSwim(5., trackp, tracko, trackq); // swimmer in 5T B field along Z+
+ HelixSwimmer swimmer = new HelixSwimmer(5);
+ swimmer.setTrack(new CartesianPoint(trackp), new CartesianPoint(tracko), trackq); // swimmer in 5T B field along Z+
List<double[]> TrackPoint = new ArrayList<double[]>();
double length = 10.; // this value should be as small as possible!
- double R = swimmer.getRc();
+ double R = ((Helix)swimmer.getTrajectory()).getRadius();
int done = 0;
double[] save = new double[3];
@@ -1869,7 +1873,7 @@
length += 10.; // real track length in mm
double alpha = length/R; // convert to radians
- tmp = swimmer.swimBy(alpha); // swimmer uses radians
+ tmp = swimmer.getPointAtDistance(alpha).v(); // swimmer uses radians
tmp[2] = tracko[2] + length*trackp[2]/Math.sqrt(trackp[0]*trackp[0]+trackp[1]*trackp[1]); // this is to fix a bug in org.lcsim new release, which always gives tmp[2] = 0
if ((Math.sqrt(tmp[0]*tmp[0]+tmp[1]*tmp[1])>1270.)||(Math.abs(tmp[2])>1680.)) TrackPoint.add(tmp);
CVSspam 0.2.8