lcsim/src/org/lcsim/contrib/tracking
diff -u -r1.2 -r1.3
--- TrackerHitCheater.java 16 Jul 2007 20:14:10 -0000 1.2
+++ TrackerHitCheater.java 19 Jul 2007 17:58:26 -0000 1.3
@@ -13,6 +13,7 @@
import org.lcsim.event.TrackerHit;
import org.lcsim.event.base.BaseTrackerHitMC;
+import hep.physics.matrix.SymmetricMatrix;
import hep.physics.vec.Hep3Vector;
import hep.physics.vec.BasicHep3Vector;
import hep.physics.vec.VecOp;
@@ -28,6 +29,7 @@
{
double _max_dist = 0.1;
+ TrackerHitSmearing smear = new TrackerHitSmearing(0.007,0.007);
/** Creates a new instance of TrackerHitCheater */
public TrackerHitCheater()
@@ -90,12 +92,12 @@
private TrackerHit makeTrackerHit(List<SimTrackerHit> cluster)
{
double[] position = getPosition(cluster);
- double[] covariance = getCovariance(cluster);
+ SymmetricMatrix covariance = getCovariance(cluster,position);
double time = getTime(cluster);
double energy = getEnergy(cluster);
int type = 0;
- TrackerHit hit = new BaseTrackerHitMC(position, covariance, time, energy, type, cluster);
+ TrackerHit hit = new BaseTrackerHitMC(position, covariance.asPackedArray(true), time, energy, type, cluster);
return hit;
}
@@ -113,7 +115,9 @@
{
position[i] /= getEnergy(cluster);
}
- return position;
+ double[] smposition = smear.SmearedPosition(new BasicHep3Vector(position)).v();
+
+ return smposition;
}
private double getTime(List<SimTrackerHit> cluster)
@@ -129,13 +133,14 @@
return mean_time;
}
- private double[] getCovariance(List<SimTrackerHit> cluster)
+ private SymmetricMatrix getCovariance(List<SimTrackerHit> cluster, double[] position)
{
- double[] covariance = new double[3];
- covariance[0] = Math.pow(0.007,2);
- covariance[1] = Math.pow(0.007,2);
- covariance[2] = Math.pow(0.007,2);
- return covariance;
+// double[] covariance = new double[3];
+// covariance[0] = Math.pow(0.007,2);
+// covariance[1] = Math.pow(0.007,2);
+// covariance[2] = Math.pow(0.007,2);
+ SymmetricMatrix smcov = smear.getCovariance(new BasicHep3Vector(position));
+ return smcov;
}
private double getEnergy(List<SimTrackerHit> cluster)