Hi All,
I have a question about these code lines:

G4TouchableHandle theTouchable = preStepPoint->GetTouchableHandle();
G4ThreeVector localPos = theTouchable->GetHistory()->GetTopTransform().TransformPoint(preStepPointPosition);

In particular, I don’t figure out what localPos is.


The G4StepPoint positions (e.g., preStepPointPosition above) are always provided in the world (global) coordinate system. The localPos variable is the result of applying the coordinate transform to give the same location, expressed in the local coordinate system of the volume.