When we are running reference particles we do not want the particle to scatter nor have fluctuations in the energy loss. In order to accomplish this we call G4VEnergyLossProces::SetLossFluctuations. The problem is that if you remove all fluctuations you do not get any energy loss at all. For muons at around 200 MeV/c, it seemed safest to keep the fluctuations for bremsstrahlung, and remove them from more dominating processes. std::string process[3] = {"msc", "muIoni", "muPairProd"}; std::string muon[2] = {"mu+", "mu-"}; G4ProcessTable * procTable = G4ProcessTable::GetProcessTable(); ... ((G4VEnergyLossProcess*)procTable->FindProcess(process[j], muon[i]))->SetLossFluctuations(isActive); ...
you can control de/dx in examples/extended/electromagnetic For instance TestEm5 with the macro dedx1.mac or TestEm3 with dedx.mac