[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