In SteppingAction : const G4StepPoint* endPoint = aStep->GetPostStepPoint(); const G4VProcess* process = endPoint->GetProcessDefinedStep(); G4HadronicProcess* hproc = (G4HadronicProcess*) process; const G4Isotope* target = hproc->GetTargetIsotope(); In case of neutronHP, it returns 0 Tatsumi said : Since v9.6, NeutronHP re-set target nucleus in hadronic process by the nucleus which HP system selected. So by getting the information in proper timing, then you should get correct information about the target.
Tatsumi Koi has reported this fixed.