Print

Print


Commit in lcdd/src on MAIN
G4TrackerSD.cc+12-41.39 -> 1.40
prelim fix for 3vec crash

lcdd/src
G4TrackerSD.cc 1.39 -> 1.40
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
CVSspam 0.2.8