Hi,
after calculating a drift line using DriftLineRKF::DriftElectron you can retrieve the arrival time using the function GetEndPoint. To determine the arrival time of the first electron that reaches the wire, you could do something along these lines:
for (unsigned int j = 0; j < nTracks; ++j) {
track.NewTrack(x0, y0, 0, 0, 0, 1, 0);
double xc = 0., yc = 0., zc = 0., tc = 0., ec = 0., extra = 0.;
int nc = 0;
double tmin = std::numeric_limits<double>::max();
while (track.GetCluster(xc, yc, zc, tc, nc, ec, extra)) {
for (int k = 0; k < nc; ++k) {
double xe = 0., ye = 0., ze = 0., te = 0., ee = 0.;
double dx = 0., dy = 0., dz = 0.;
track.GetElectron(k, xe, ye, ze, te, ee, dx, dy, dz);
drift.DriftElectron(xe, ye, ze, te);
double xf = 0., yf = 0., zf = 0., tf = 0.;
int stat = 0;
drift.GetEndPoint(xf, yf, zf, tf, stat);
tmin = std::min(tmin, tf);
}
}
std::cout << "First electron arrives at " << tmin << " ns.\n";
}