74 for (G4int i = 0; i < 2 && currMaxLength > 0; i++) {
99 G4double dTime = dPosition.t() / CLHEP::c_light;
105 G4ThreeVector p =
m_position - dPosition.vect()/2;
106 G4double point[4] = {p.x(), p.y(), p.z(),
m_time - dTime/2};
107 G4double field[6] = {0};
108 m_stepper->GetField()->GetFieldValue(point, field);
109 G4ThreeVector B(field[0], field[1], field[2]);
110 G4ThreeVector E(field[3], field[4], field[5]);
112 G4ThreeVector dMomField = E * dTime + dPosition.vect().cross(B);
113 m_momentum +=
charge * G4LorentzVector(CLHEP::c_light * dMomField, E * dPosition.vect());