Geant4-11
|
#include <G4InterpolationDriver.hh>
Data Structures | |
struct | InterpStepper |
Public Member Functions | |
virtual G4bool | AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0) override |
virtual G4double | AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance) override |
virtual G4double | ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) override final |
virtual G4bool | DoesReIntegrate () const override |
G4InterpolationDriver (const G4InterpolationDriver &)=delete | |
G4InterpolationDriver (G4double hminimum, T *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=0) | |
virtual void | GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const override |
virtual void | GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const override |
virtual G4EquationOfMotion * | GetEquationOfMotion () override |
G4int | GetMaxNoSteps () const |
G4double | GetPgrow () const |
G4double | GetPshrnk () const |
G4double | GetSafety () const |
G4double | GetSmallestFraction () const |
virtual const T * | GetStepper () const override |
virtual T * | GetStepper () override |
virtual G4int | GetVerboseLevel () const override |
virtual void | OnComputeStep () override |
virtual void | OnStartTracking () override |
const G4InterpolationDriver & | operator= (const G4InterpolationDriver &)=delete |
virtual G4bool | QuickAdvance (G4FieldTrack &, const G4double[], G4double, G4double &, G4double &) |
virtual void | RenewStepperAndAdjust (G4MagIntegratorStepper *stepper) override |
void | ReSetParameters (G4double safety=0.9) |
virtual void | SetEquationOfMotion (G4EquationOfMotion *equation) override |
void | SetMaxNoSteps (G4int val) |
void | SetSafety (G4double valS) |
void | SetSmallestFraction (G4double val) |
virtual void | SetVerboseLevel (G4int level) override |
virtual void | StreamInfo (std::ostream &os) const override |
virtual | ~G4InterpolationDriver () override |
Protected Member Functions | |
G4double | GrowStepSize (G4double h, G4double error) const |
G4double | GrowStepSize2 (G4double h, G4double error2) const |
G4double | ShrinkStepSize (G4double h, G4double error) const |
G4double | ShrinkStepSize2 (G4double h, G4double error2) const |
void | UpdateErrorConstraints () |
Static Protected Attributes | |
static constexpr G4double | max_stepping_decrease = 0.1 |
static constexpr G4double | max_stepping_increase = 5 |
Private Types | |
using | Base = G4RKIntegrationDriver< T > |
using | ConstStepperIterator = typename std::vector< InterpStepper >::const_iterator |
using | StepperIterator = typename std::vector< InterpStepper >::iterator |
Private Member Functions | |
void | AccumulateStatistics (G4int noTrials) |
G4double | CalcChordStep (G4double stepTrialOld, G4double dChordStep, G4double fDeltaChord) |
void | CheckState () const |
G4double | DistChord (const field_utils::State &yBegin, G4double curveLengthBegin, const field_utils::State &yEnd, G4double curveLengthEnd) const |
G4double | FindNextChord (const field_utils::State &yBegin, G4double curveLengthBegin, field_utils::State &yEnd, G4double curveLengthEnd, G4double dChord, G4double maxChordDistance) |
void | Interpolate (G4double curveLength, field_utils::State &y) const |
void | InterpolateImpl (G4double curveLength, ConstStepperIterator it, field_utils::State &y) const |
G4double | OneGoodStep (StepperIterator it, field_utils::State &y, field_utils::State &dydx, G4double &hstep, G4double eps, G4double curveLength) |
void | PrintState () const |
void | RenewStepperAndAdjustImpl (T *stepper) |
Private Attributes | |
G4double | errorConstraintGrow |
G4double | errorConstraintShrink |
G4double | fChordStepEstimate = DBL_MAX |
field_utils::State | fdydx |
G4bool | fFirstStep = true |
const G4double | fFractionNextEstimate = 0.98 |
G4double | fhnext = DBL_MAX |
G4bool | fKeepLastStepper = false |
StepperIterator | fLastStepper |
G4int | fMaxNoSteps |
G4int | fMaxStepBase |
const G4int | fMaxTrials = 100 |
G4int | fmaxTrials = 0 |
G4double | fMinimumStep |
G4int | fNoCalls = 0 |
const G4double | fSmallestCurveFraction = 0.01 |
std::vector< InterpStepper > | fSteppers |
G4int | fTotalNoTrials = 0 |
G4int | fTotalStepsForTrack = 0 |
G4int | fVerboseLevel |
G4double | pgrow |
T * | pIntStepper = nullptr |
G4double | pshrnk |
G4double | safety |
Definition at line 47 of file G4InterpolationDriver.hh.
|
private |
Definition at line 165 of file G4InterpolationDriver.hh.
|
private |
Definition at line 96 of file G4InterpolationDriver.hh.
|
private |
Definition at line 95 of file G4InterpolationDriver.hh.
G4InterpolationDriver< T >::G4InterpolationDriver | ( | G4double | hminimum, |
T * | stepper, | ||
G4int | numberOfComponents = 6 , |
||
G4int | statisticsVerbosity = 0 |
||
) |
|
overridevirtual |
|
delete |
|
private |
|
overridevirtual |
Implements G4VIntegrationDriver.
|
overridevirtual |
Implements G4VIntegrationDriver.
|
private |
|
private |
|
finaloverridevirtualinherited |
Implements G4VIntegrationDriver.
|
private |
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
Definition at line 68 of file G4InterpolationDriver.hh.
|
private |
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
overridevirtual |
Implements G4VIntegrationDriver.
|
protectedinherited |
|
protectedinherited |
|
private |
|
private |
|
overridevirtual |
Implements G4VIntegrationDriver.
|
private |
|
overridevirtual |
Implements G4VIntegrationDriver.
|
delete |
|
private |
|
inlinevirtualinherited |
Reimplemented in G4FSALIntegrationDriver< T >, G4IntegrationDriver< T >, G4MagInt_Driver, G4OldMagIntDriver, and G4IntegrationDriver< G4BulirschStoer >.
Definition at line 83 of file G4VIntegrationDriver.hh.
|
overridevirtualinherited |
Reimplemented from G4VIntegrationDriver.
|
inlineprivateinherited |
|
inherited |
|
overridevirtualinherited |
Implements G4VIntegrationDriver.
|
inherited |
|
inherited |
|
inherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
|
protectedinherited |
|
protectedinherited |
|
overridevirtual |
Reimplemented from G4RKIntegrationDriver< T >.
|
protectedinherited |
|
privateinherited |
Definition at line 122 of file G4RKIntegrationDriver.hh.
|
privateinherited |
Definition at line 121 of file G4RKIntegrationDriver.hh.
|
private |
Definition at line 148 of file G4InterpolationDriver.hh.
|
private |
Definition at line 154 of file G4InterpolationDriver.hh.
|
private |
Definition at line 155 of file G4InterpolationDriver.hh.
|
private |
Definition at line 149 of file G4InterpolationDriver.hh.
|
private |
Definition at line 143 of file G4InterpolationDriver.hh.
|
private |
Definition at line 141 of file G4InterpolationDriver.hh.
|
private |
Definition at line 140 of file G4InterpolationDriver.hh.
|
privateinherited |
Definition at line 107 of file G4RKIntegrationDriver.hh.
|
privateinherited |
Definition at line 109 of file G4RKIntegrationDriver.hh.
|
private |
Definition at line 157 of file G4InterpolationDriver.hh.
|
private |
Definition at line 163 of file G4InterpolationDriver.hh.
|
private |
Definition at line 146 of file G4InterpolationDriver.hh.
|
private |
Definition at line 162 of file G4InterpolationDriver.hh.
|
private |
Definition at line 150 of file G4InterpolationDriver.hh.
|
private |
Definition at line 139 of file G4InterpolationDriver.hh.
|
private |
Definition at line 161 of file G4InterpolationDriver.hh.
|
private |
Definition at line 158 of file G4InterpolationDriver.hh.
|
private |
Definition at line 152 of file G4InterpolationDriver.hh.
|
staticconstexprprotectedinherited |
Definition at line 123 of file G4VIntegrationDriver.hh.
Referenced by G4MagInt_Driver::ComputeNewStepSize_WithinLimits(), and G4OldMagIntDriver::ComputeNewStepSize_WithinLimits().
|
staticconstexprprotectedinherited |
Definition at line 122 of file G4VIntegrationDriver.hh.
Referenced by G4OldMagIntDriver::ComputeNewStepSize(), G4MagInt_Driver::ComputeNewStepSize_WithinLimits(), G4OldMagIntDriver::ComputeNewStepSize_WithinLimits(), G4MagInt_Driver::ComputeNewStepSize_WithoutReductionLimit(), G4MagInt_Driver::OneGoodStep(), and G4OldMagIntDriver::OneGoodStep().
|
privateinherited |
Definition at line 117 of file G4RKIntegrationDriver.hh.
|
privateinherited |
Definition at line 124 of file G4RKIntegrationDriver.hh.
|
privateinherited |
Definition at line 116 of file G4RKIntegrationDriver.hh.
|
privateinherited |
Definition at line 115 of file G4RKIntegrationDriver.hh.