The ProcessManager of a particle has a responsibility to provide a right ordering of process invocations. G4SteppingManager invokes processes in each phase just following the order given by the ProcessManager.
G4Step keeps transient information in a step. G4Step has two object called PreStepPoint and PostStepPoint. These two are objects of the class G4StepPoint.
G4Step
Pointers to PreStep and PostStepPoint, step length, deltas between PreStepPoint and PostStepPoint, pointer to G4Track and etc.
G4StepPoint
(x, y, z, t), (px, py, pz, Ek), Momentum direction and etc
G4ParticleChange (although its name) keeps the final state of the particle after a physics process has been invoked. Information in G4ParticleChange are:
All of AlongSepDoits are always invoked if provided.
AlongStepDoIts are invoked in the phase G4SteppingManger is transporting a particle by one step. Each change to the track information is recorded and accumulated in G4Step. However, track information themselves (data members G4Track) are not modified.
After all AlongStepDoIt's are invoked, G4Track data members will be updated by referring to G4Step.