Get electron Momentum

Hello! I work with moving electons and as far as i know i can obtain certain data(like position, energy, momentum) in Stepping class via PostStepPoint(), PreStepPoint(). However momentum after PostStepPoint affected by some fluctuation in AlongStepDoIt and follows in PostStepDoIt process.

So i inquire how to get this fluctuated momentum?

What do you mean by fluctuated momentum? Do you mean change in momentum? You can get the momentum vectors with:

step->GetPreStepPoint()->GetMomentum();
step->GetPostStepPoint()->GetMomentum();

And then take the difference. Similar with GetMomentumDirection. You will not get a finer sampling of the momentum change than the step length which is controlled elsewhere.

In G4MollerBhabhaModel there is SampleSecondaries(…), which takes as parameter G4DynamicParticle dp. And when i want to compare step->GetPreStepPoint()->GetMomentum() and dp->GetMomentum() sometimes second one is lower. I suppose it happens because there is some chain of momentum data transfet: PreStepPoint->AlongStepDoIt->PostStepDoIt(i.e. SampleSecondaries())->PostStepPoint. So i want obtain somehow momentum whitch enters SampleSecondaries