Proper energy deposition

Dear Experts,

G4Track class has methods: GetPosition(), GetTotalEnergyDeposition(). Class G4Step have methods GetPreStepPoint() and GetPostStepPoint(). And they also have methods GetPosition(). What is correct way to get position of Energy deposition? And also what position does Track->GetPosition() returns? Also getting energy deposition with primitive scorers assign energydeposition to the volume of presteppoint. But as i know there are 3 kind of procceses. AtRest, along track and in the end


any step happens in the volume of the presteppoint. Energy deposition from changed particles is spread over the step. For photoelectric effect and few other processes of neutral particles the energy deposition is nearly poststeppoint. Proper scoring of energy deposition along step is not trivial. What is definetly correct - scoring in the scoring voxel - if a step is inside some voxel the energy deposited there.

All other methods may bring some inaccuracy to results. Some smoothing may be implemented if you randomly distribute energy along the step but at edges will be problems.