18 #include <CLHEP/Units/SystemOfUnits.h>
21 #include <G4Version.hh>
31 return "WorldBoundary";
34 return "GeomBoundary";
37 return "AtRestDoItProc";
39 case fAlongStepDoItProc:
40 return "AlongStepDoItProc";
42 case fPostStepDoItProc:
43 return "PostStepDoItProc";
45 case fUserDefinedLimit:
46 return "UserDefinedLimit";
48 case fExclusivelyForcedProc:
49 return "ExclusivelyForcedProc";
69 #if G4VERSION_NUMBER >= 1001
70 static G4EmSaturation s_emSaturation(1);
72 static G4EmSaturation s_emSaturation();
73 s_emSaturation.SetVerbose(1);
76 #if G4VERSION_NUMBER >= 1030
77 static bool s_initialised =
false;
78 if(not s_initialised) {
79 s_emSaturation.InitialiseG4Saturation();
84 double energyDeposition =
step->GetTotalEnergyDeposit();
85 double length =
step->GetStepLength();
86 double niel =
step->GetNonIonizingEnergyDeposit();
87 const G4Track* trk =
step->GetTrack();
88 const G4ParticleDefinition* particle = trk->GetDefinition();
89 const G4MaterialCutsCouple* couple = trk->GetMaterialCutsCouple();
90 double engyVis = s_emSaturation.VisibleEnergyDeposition(particle,