37 #include "G4VParticleChange.hh"   130   G4double length = step.GetStepLength();
   145   *dynParticle = *(track.GetDynamicParticle());
   154   for (
size_t i=0;i<
n;i++) {
   163             degain = DEDX_before*dlength;       
   176                         const G4int iimax = 100;
   177             while (std::abs(x-x1)>0.01*x) {
   183                     if(ii >= iimax) { 
break; }
   211             SampleFluctuations(
currentCouple,dynParticle,tmax,dlength,degain)-degain;
   215     if (egain <=0) egain=degain;
   235   G4double weight_correction=DEDX_after/DEDX_before;
   248   G4double new_weight=weight_correction*step.GetPostStepPoint()->GetWeight();
   295   maxE=
std::min(emax_model*1.001,maxE);
 G4double GetKineticEnergy(G4double &range, const G4MaterialCutsCouple *)
 
G4double MaxSecondaryKinEnergy(const G4DynamicParticle *dynParticle)
 
static G4LossTableManager * Instance()
 
G4ContinuousGainOfEnergy(const G4String &name="EnergyGain", G4ProcessType type=fElectromagnetic)
 
G4double preStepChargeSqRatio
 
virtual void CorrectionsAlongStep(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length)
 
void SetDynamicMassCharge(G4double massratio, G4double charge2ratio)
 
const G4Material * currentMaterial
 
G4double GetDEDX(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4VEmModel * currentModel
 
G4double EffectiveChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
void BuildPhysicsTable(const G4ParticleDefinition &)
 
G4VParticleChange * AlongStepDoIt(const G4Track &, const G4Step &)
 
G4double preStepScaledKinEnergy
 
const G4String & GetParticleType() const
 
G4VEmFluctuationModel * GetModelOfFluctuations()
 
G4double preStepKinEnergy
 
void SetDynamicMassCharge(const G4Track &track, G4double energy)
 
G4ParticleDefinition * theDirectPartDef
 
G4VEnergyLossProcess * theDirectEnergyLossProcess
 
G4double GetKineticEnergy() const
 
const G4MaterialCutsCouple * currentCouple
 
G4double HighEnergyLimit() const
 
G4EmCorrections * EmCorrections()
 
void SetDirectParticle(G4ParticleDefinition *p)
 
G4double currentCutInRange
 
void SetKineticEnergy(G4double aEnergy)
 
virtual G4double GetChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
virtual G4double GetContinuousStepLimit(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double ¤tSafety)
 
void SetLossFluctuations(G4bool val)
 
G4bool lossFluctuationFlag
 
G4bool lossFluctuationArePossible
 
G4double GetPDGMass() const
 
G4VEmModel * SelectModelForMaterial(G4double kinEnergy, size_t &idx) const
 
void PreparePhysicsTable(const G4ParticleDefinition &)
 
G4ParticleChange aParticleChange
 
size_t currentMaterialIndex
 
void DefineMaterial(const G4MaterialCutsCouple *couple)
 
size_t currentCoupleIndex
 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
 
G4double GetPDGCharge() const
 
virtual ~G4ContinuousGainOfEnergy()
 
G4double GetRange(G4double &kineticEnergy, const G4MaterialCutsCouple *)