lcdd/src
diff -u -r1.39 -r1.40
--- G4TrackerSD.cc 11 Jan 2008 01:57:46 -0000 1.39
+++ G4TrackerSD.cc 9 Jun 2011 01:48:22 -0000 1.40
@@ -1,4 +1,4 @@
-// $Header: /cvs/lcd/lcdd/src/G4TrackerSD.cc,v 1.39 2008/01/11 01:57:46 jeremy Exp $
+// $Header: /cvs/lcd/lcdd/src/G4TrackerSD.cc,v 1.40 2011/06/09 01:48:22 jeremy Exp $
// LCDD
#include "IdManager.hh"
@@ -66,11 +66,19 @@
G4int trkID = trackID();
G4double tdep = globalTime();
G4ThreeVector midPos = midPosition();
- G4ThreeVector prePos = pre()->GetPosition();
- G4ThreeVector postPos = post()->GetPosition();
+ G4ThreeVector prePos = aStep->GetPreStepPoint()->GetPosition();
+ G4ThreeVector postPos = aStep->GetPostStepPoint()->GetPosition();
double avgMom = (pre()->GetMomentum().mag() + post()->GetMomentum().mag()) / 2;
G4ThreeVector mom = (postPos - prePos);
- mom.setMag(avgMom);
+ if (mom.mag() > 0)
+ {
+ mom.setMag(avgMom);
+ }
+ else
+ {
+ std::cerr << "prePos - postPos = 0 --> " << prePos << " | " << postPos << std::endl;
+ }
+
G4double pathLength = ReadoutUtil::computeDistance(aStep);
// create hit