Commit in hps-java/src/main/java/org/lcsim/hps/recon/tracking on MAIN | |||
SvtTrackExtrapolator.java | +11 | -4 | 1.1 -> 1.2 |
Added ability to get position within dipole.
diff -u -r1.1 -r1.2 --- SvtTrackExtrapolator.java 12 May 2012 22:21:20 -0000 1.1 +++ SvtTrackExtrapolator.java 29 May 2012 17:44:29 -0000 1.2 @@ -11,7 +11,7 @@
SeedTrack track; TrackUtils trackUtils;
- public static final double ECAL_FACE = 1450; // mm
+ public static final double ECAL_FACE = 1600; // mm
public static final double DIPOLE_EDGE = 914; // mm /**
@@ -45,8 +45,8 @@
if(track == null) throw new RuntimeException("Track has not been set!");
- if(x > DIPOLE_EDGE){ - double yDipole = trackUtils.getYOnHelixProjection(x);
+ if(x >= DIPOLE_EDGE){ + double yDipole = trackUtils.getYOnHelixProjection(DIPOLE_EDGE);
double s = trackUtils.arcLength(DIPOLE_EDGE, yDipole); double zDipole = trackUtils.getZ0() + s*trackUtils.getTanLambda(); double phi = trackUtils.getPhi0() - s/trackUtils.getR();
@@ -61,7 +61,14 @@
return new BasicHep3Vector(x, y, z);
- } else if(x < 0){
+ } else if( x > 0 && x < DIPOLE_EDGE){ + + double y = trackUtils.getYOnHelixProjection(x); + double s = trackUtils.arcLength(x, y); + double z = trackUtils.getZ0() + s*trackUtils.getTanLambda(); + return new BasicHep3Vector(x, y, z); + } else if(x <= 0){ +
double dx = x - trackUtils.getX0(); double r = dx/(Math.cos(trackUtils.getPhi0())*(1/Math.sqrt(1 + Math.pow(trackUtils.getTanLambda(), 2)))); double dy = r*Math.sin(trackUtils.getPhi0())*(1/Math.sqrt(1 + Math.pow(trackUtils.getTanLambda(), 2)));
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1