lcsim/src/org/lcsim/contrib/SODTracker
diff -u -r1.3 -r1.4
--- History 8 Aug 2006 22:56:08 -0000 1.3
+++ History 13 Dec 2006 22:47:32 -0000 1.4
@@ -3,6 +3,9 @@
## Please summarize changes to the SODTracker code here.
## Most recent first please.
+13 December 2006 Fred Blanc
+ Replace use of SymmetricMatrix with double[][] in SODTrack
+
08 August 2006 Fred Blanc V01-01-01
Test the sub-detector name using the method:
decoder.getSubdetector().getName()
lcsim/src/org/lcsim/contrib/SODTracker
diff -u -r1.3 -r1.4
--- SODTrack.java 23 Oct 2006 19:42:37 -0000 1.3
+++ SODTrack.java 13 Dec 2006 22:47:32 -0000 1.4
@@ -4,7 +4,6 @@
*/
-import hep.physics.matrix.SymmetricMatrix;
import org.lcsim.event.Track;
import org.lcsim.event.SimTrackerHit;
import org.lcsim.event.TrackerHit;
@@ -25,8 +24,22 @@
double d0 = 0., phi0 = 0., omega = 0., z0 = 0., s = 0.;
double[] parameters = new double[] {0.,0.,0.,0.,0.};
+ double chi2 = 0.;
+
SODTrack(int ch, double pX, double pY, double pZ, double dzero, double phizero, double omeg, double zzero, double spar)
{
+
+ //System.out.print("SOD params (SOD units): ");
+ //System.out.print("; ch = "); System.out.print(ch);
+ //System.out.print("; pX = "); System.out.print(pX);
+ //System.out.print("; pY = "); System.out.print(pY);
+ //System.out.print("; pZ = "); System.out.println(pZ);
+ //System.out.print("; d0 = "); System.out.print(dzero);
+ //System.out.print("; phi0 = "); System.out.print(phizero);
+ //System.out.print("; omega = "); System.out.print(omeg);
+ //System.out.print("; z0 = "); System.out.print(zzero);
+ //System.out.print("; s = "); System.out.println(spar);
+
charge = ch;
px = pX;
py = pY;
@@ -40,6 +53,8 @@
z0 = 10.*zzero;
s = spar;
parameters = new double[] {d0, phi0, omega,z0,s};
+
+ chi2 = 0.;
}
private MCParticle mcParticle;
@@ -68,19 +83,21 @@
public double getTrackParameter(int i) { return parameters[i]; }
public double[] getTrackParameters() { return parameters; }
- private SymmetricMatrix ematrix;
+ private double[][] ematrix;
public void add_ematrix(double[][] emat)
{
- ematrix = new SymmetricMatrix(5);
+ ematrix = new double[5][5];
double[] conv = new double[] {10.,1.,-0.1,10.,1.};
for(int i=0; i<5; i++) {
- for(int j=0; j<=i; j++) {
- ematrix.setElement(i,j,conv[i]*conv[j]*emat[i][j]);
+ for(int j=0; j<5; j++) {
+ ematrix[i][j] = conv[i]*conv[j]*emat[i][j];
}
}
}
- public SymmetricMatrix getErrorMatrix() { return ematrix; }
- public double getChi2() { return 1.; }
+ public double getErrorMatrixElement(int i, int j) { return ematrix[i][j]; }
+ public double[][] getErrorMatrix() { return ematrix; }
+ public void setChiSqr(double c) { chi2 = c; }
+ public double getChi2() { return chi2; }
public int getNDF() { return 1; }
public double getdEdx() { return 0.; }
lcsim/src/org/lcsim/contrib/SODTracker
diff -u -r1.3 -r1.4
--- SODTrackFinderDriver.java 8 Aug 2006 22:56:08 -0000 1.3
+++ SODTrackFinderDriver.java 13 Dec 2006 22:47:32 -0000 1.4
@@ -145,6 +145,7 @@
test_helix.Omega(), test_helix.Z0(),
test_helix.Tanl());
trk.add_ematrix(test_helix.get_ematrix());
+ trk.setChiSqr(test_helix.Chisq());
java.util.LinkedList hitlist = out_helix.hitlist();
for ( ListIterator hitItr = hitlist.listIterator() ; hitItr.hasNext();){
SODHit hit = (SODHit)hitItr.next();