41 theStepLimit = 1.*CLHEP::mm;
45void G4ErrorEnergyLoss::InstantiateEforExtrapolator()
51 delete theELossForExtrapolator;
74 G4double kinEnergyEnd = kinEnergyStart;
82 G4double kinEnergyHalfStep = (kinEnergyStart + kinEnergyEnd) * 0.5;
86 G4cout <<
" G4ErrorEnergyLoss FWD end " << kinEnergyEnd
87 <<
" halfstep " << kinEnergyHalfStep <<
G4endl;
95 kinEnergyEnd = kinEnergyStart - (kinEnergyHalfStep - kinEnergyEnd );
99 kinEnergyEnd = theELossForExtrapolator->
EnergyAfterStep( kinEnergyStart,
103 G4double kinEnergyHalfStep = (kinEnergyStart + kinEnergyEnd) * 0.5;
106 G4cout <<
" G4ErrorEnergyLoss BCKD end " << kinEnergyEnd
107 <<
" halfstep " << kinEnergyHalfStep <<
G4endl;
111 kinEnergyEnd = theELossForExtrapolator->
EnergyAfterStep( kinEnergyHalfStep,
115 kinEnergyEnd = kinEnergyStart - (kinEnergyHalfStep - kinEnergyEnd );
118 G4double edepo = kinEnergyEnd - kinEnergyStart;
122 G4cout <<
"AlongStepDoIt Estart= " << kinEnergyStart <<
" Eend " << kinEnergyEnd
123 <<
" Ediff " << kinEnergyStart-kinEnergyEnd <<
" step= " << step_length
124 <<
" mate= " << aMaterial->
GetName()
147 G4double delta = std::max(range*theFractionLimit, theStepLimit);
150 G4cout <<
" G4ErrorEnergyLoss: limiting Step " << delta
151 <<
" energy(GeV) " << ekin / CLHEP::GeV
@ G4ErrorMode_PropBackwards
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * GetDefinition() const
G4double GetContinuousStepLimit(const G4Track &aTrack, G4double, G4double currentMinimumStep, G4double &) override
G4VParticleChange * AlongStepDoIt(const G4Track &aTrack, const G4Step &aStep) override
G4ErrorEnergyLoss(const G4String &processName="G4ErrorEnergyLoss", G4ProcessType type=fElectromagnetic)
G4bool IsApplicable(const G4ParticleDefinition &aParticleType) override
~G4ErrorEnergyLoss() override
static G4ErrorPropagatorData * GetErrorPropagatorData()
G4ErrorMode GetMode() const
const G4String & GetName() const
void Initialize(const G4Track &) override
void ProposeEnergy(G4double finalEnergy)
G4double GetPDGCharge() const
const G4String & GetParticleName() const
G4double GetStepLength() const
G4Material * GetMaterial() const
const G4DynamicParticle * GetDynamicParticle() const
G4double GetKineticEnergy() const
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
void SetNumberOfSecondaries(G4int totSecondaries)
G4ParticleChange aParticleChange
const G4String & GetProcessName() const