[Halld-offline] Time-of-flight for tracks
David Lawrence
davidl at jlab.org
Tue Feb 22 09:41:42 EST 2011
Hi Kei et al,
I was just looking at the DReferenceTrajectory code to follow up on
the conversation last week regarding the time of flight. I had agreed to
expose the flight time as calculated via the integrated pathlength/speed
from the track origin to the downstream detector. It turns out Simon has
done all of this nearly a year ago when he put the flight time into the
steps stored in DReferenceTrajectory. Here are some of the relevant methods:
double DistToRTwithTime(DVector3 hit, double *s=NULL,double *t=NULL) const;
void GetIntersectionWithPlane(const DVector3 &origin, const DVector3
&norm, DVector3 &pos, double *s=NULL,double *t=NULL) const;
void GetIntersectionWithPlane(const DVector3 &origin, const DVector3
&norm, DVector3 &pos, DVector3 &dir,double *s=NULL, double *t=NULL) const;
jerror_t GetIntersectionWithRadius(double R,DVector3 &mypos, double
*s=NULL, double *t=NULL) const;
The DistToRTwithTime() method give the distance to a 3-D space point.
The two GetIntersectionWithPlane() methods do the same thing, but the
second allows you to get the directional vector for the momentum at the
intersection point if you want it.
The GetIntersectionWithRadius() method is what is currently used for the
BCAL. This could be used in conjunction with GetIntersectionWithPlane()
to get a more accurate time and distance since the BCAL is a 48-sided
polygon. That should only be about a 10-45ps correction though
(depending on z) for a particle traveling at c.
Regards,
-David
More information about the Halld-offline
mailing list