Geant4-11
|
#include <G4OldMagIntDriver.hh>
Protected Member Functions | |
void | PrintStat_Aux (const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities) |
void | PrintStatisticsReport () |
void | PrintStatus (const G4double *StartArr, G4double xstart, const G4double *CurrentArr, G4double xcurrent, G4double requestStep, G4int subStepNo) |
void | PrintStatus (const G4FieldTrack &StartFT, const G4FieldTrack &CurrentFT, G4double requestStep, G4int subStepNo) |
void | WarnEndPointTooFar (G4double endPointDist, G4double hStepSize, G4double epsilonRelative, G4int debugFlag) |
void | WarnSmallStepSize (G4double hnext, G4double hstep, G4double h, G4double xDone, G4int noSteps) |
void | WarnTooManyStep (G4double x1start, G4double x2end, G4double xCurrent) |
Static Protected Attributes | |
static constexpr G4double | max_stepping_decrease = 0.1 |
static constexpr G4double | max_stepping_increase = 5 |
Private Types | |
using | ChordFinderDelegate = G4ChordFinderDelegate< G4OldMagIntDriver > |
Private Member Functions | |
void | AccumulateStatistics (G4int noTrials) |
G4double | FindNextChord (const G4FieldTrack &yStart, G4double stepMax, G4double epsStep, G4double chordDistance, G4FieldTrack &yEnd, G4double &dyErrPos, G4double &pStepForAccuracy) |
G4OldMagIntDriver & | GetDriver () |
G4double | NewStep (G4double stepTrialOld, G4double dChordStep, G4double fDeltaChord, G4double &stepEstimate_Unconstrained) |
void | PrintStatistics () |
Private Attributes | |
G4double | errcon |
G4double | fDyerr_max =0.0 |
G4double | fDyerr_mx2 =0.0 |
G4double | fDyerrPos_lgTot =0.0 |
G4double | fDyerrPos_smTot =0.0 |
G4double | fDyerrVel_lgTot =0.0 |
G4double | fFirstFraction |
G4double | fFractionLast |
G4double | fFractionNextEstimate |
G4double | fLastStepEstimate_Unconstrained |
G4int | fMaxNoSteps |
G4int | fMaxStepBase = 250 |
G4int | fmaxTrials |
G4double | fMinimumStep = 0.0 |
const G4int | fMinNoVars = 12 |
unsigned long | fNoBadSteps =0 |
unsigned long | fNoCalls =0 |
unsigned long | fNoInitialSmallSteps =0 |
const G4int | fNoIntegrationVariables = 0 |
unsigned long | fNoSmallSteps =0 |
unsigned long | fNoTotalSteps =0 |
const G4int | fNoVars = 0 |
G4double | fSmallestFraction = 1.0e-12 |
G4int | fStatisticsVerboseLevel = 0 |
G4double | fSumH_lg =0.0 |
G4double | fSumH_sm =0.0 |
G4int | fTotalNoTrials |
G4int | fVerboseLevel = 0 |
G4double | pgrow |
G4MagIntegratorStepper * | pIntStepper = nullptr |
G4double | pshrnk |
G4double | safety |
Definition at line 44 of file G4OldMagIntDriver.hh.
|
private |
Definition at line 263 of file G4OldMagIntDriver.hh.
G4OldMagIntDriver::G4OldMagIntDriver | ( | G4double | hminimum, |
G4MagIntegratorStepper * | pItsStepper, | ||
G4int | numberOfComponents = 6 , |
||
G4int | statisticsVerbosity = 0 |
||
) |
Definition at line 48 of file G4OldMagIntDriver.cc.
References fMaxNoSteps, fMaxStepBase, fMinimumStep, fStatisticsVerboseLevel, fVerboseLevel, G4cout, G4endl, G4MagIntegratorStepper::IntegratorOrder(), pIntStepper, and RenewStepperAndAdjust().
|
overridevirtual |
Definition at line 84 of file G4OldMagIntDriver.cc.
References fStatisticsVerboseLevel, and PrintStatisticsReport().
|
delete |
|
privateinherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 95 of file G4OldMagIntDriver.cc.
References ComputeNewStepSize(), G4FieldTrack::DumpToArray(), eps, EventMustBeAborted, FatalException, fDyerr_max, fDyerrPos_smTot, fMaxNoSteps, fMinimumStep, fNoBadSteps, fNoInitialSmallSteps, fNoIntegrationVariables, fNoSmallSteps, fNoTotalSteps, fNoVars, fSmallestFraction, fSumH_sm, G4cerr, G4cout, G4endl, G4Exception(), G4ThreadLocal, G4FieldTrack::GetCurveLength(), Hmin(), JustWarning, G4FieldTrack::LoadFromArray(), G4FieldTrack::ncompSVEC, OneGoodStep(), perMillion, perThousand, pIntStepper, CLHEP::prec, PrintStatus(), G4DriverReporter::PrintStatus(), QuickAdvance(), G4MagIntegratorStepper::RightHandSide(), G4FieldTrack::SetCurveLength(), WarnEndPointTooFar(), WarnSmallStepSize(), and WarnTooManyStep().
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
|
inherited |
|
inline |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 749 of file G4OldMagIntDriver.cc.
References GetPgrow(), GetPshrnk(), GetSafety(), and G4VIntegrationDriver::max_stepping_increase.
Referenced by AccurateAdvance(), and QuickAdvance().
G4double G4OldMagIntDriver::ComputeNewStepSize_WithinLimits | ( | G4double | errMaxNorm, |
G4double | hstepCurrent | ||
) |
Definition at line 783 of file G4OldMagIntDriver.cc.
References errcon, GetPgrow(), GetPshrnk(), GetSafety(), G4VIntegrationDriver::max_stepping_decrease, and G4VIntegrationDriver::max_stepping_increase.
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
Definition at line 66 of file G4OldMagIntDriver.hh.
Referenced by StreamInfo().
|
privateinherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1012 of file G4OldMagIntDriver.cc.
References G4FieldTrack::DumpToArray(), G4FieldTrack::ncompSVEC, pIntStepper, and G4MagIntegratorStepper::RightHandSide().
|
overridevirtual |
Implements G4VIntegrationDriver.
|
privateinherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1021 of file G4OldMagIntDriver.cc.
References G4MagIntegratorStepper::GetEquationOfMotion(), and pIntStepper.
|
inline |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inherited |
|
inline |
|
inherited |
|
inherited |
|
inherited |
|
inline |
Referenced by ComputeNewStepSize(), ComputeNewStepSize_WithinLimits(), and OneGoodStep().
|
inline |
Referenced by ComputeNewStepSize(), ComputeNewStepSize_WithinLimits(), and OneGoodStep().
|
inline |
Referenced by ComputeNewStepSize(), ComputeNewStepSize_WithinLimits(), and OneGoodStep().
|
inline |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1031 of file G4OldMagIntDriver.cc.
References pIntStepper.
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1036 of file G4OldMagIntDriver.cc.
References pIntStepper.
|
overridevirtual |
Implements G4VIntegrationDriver.
|
inline |
Referenced by AccurateAdvance(), and WarnSmallStepSize().
|
privateinherited |
|
inlineoverridevirtual |
void G4OldMagIntDriver::OneGoodStep | ( | G4double | ystart[], |
const G4double | dydx[], | ||
G4double & | x, | ||
G4double | htry, | ||
G4double | eps, | ||
G4double & | hdid, | ||
G4double & | hnext | ||
) |
Definition at line 493 of file G4OldMagIntDriver.cc.
References errcon, fMinimumStep, fNoIntegrationVariables, G4endl, G4Exception(), G4ThreadLocal, GetPgrow(), GetPshrnk(), GetSafety(), JustWarning, G4INCL::Math::max(), G4VIntegrationDriver::max_stepping_increase, G4FieldTrack::ncompSVEC, pIntStepper, and sqr().
Referenced by AccurateAdvance().
|
inlineoverridevirtual |
Implements G4VIntegrationDriver.
|
delete |
|
protected |
Definition at line 903 of file G4OldMagIntDriver.cc.
References G4cout, G4endl, G4ThreadLocal, G4FieldTrack::GetCurveLength(), G4FieldTrack::GetKineticEnergy(), G4FieldTrack::GetMomentumDir(), G4FieldTrack::GetPosition(), CLHEP::Hep3Vector::mag2(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by PrintStatus().
|
privateinherited |
|
protected |
Definition at line 968 of file G4OldMagIntDriver.cc.
References fNoBadSteps, fNoInitialSmallSteps, fNoSmallSteps, fNoTotalSteps, G4cout, and G4endl.
Referenced by ~G4OldMagIntDriver().
|
protected |
Definition at line 815 of file G4OldMagIntDriver.cc.
References fNoIntegrationVariables, G4FieldTrack::LoadFromArray(), PrintStatus(), and G4FieldTrack::SetCurveLength().
Referenced by AccurateAdvance(), PrintStatus(), and QuickAdvance().
|
protected |
Definition at line 840 of file G4OldMagIntDriver.cc.
References CLHEP::Hep3Vector::dot(), fVerboseLevel, G4cout, G4endl, G4FieldTrack::GetCurveLength(), G4FieldTrack::GetMomentumDir(), G4FieldTrack::GetPosition(), noPrecision, and PrintStat_Aux().
G4bool G4OldMagIntDriver::QuickAdvance | ( | G4FieldTrack & | y_posvel, |
const G4double | dydx[], | ||
G4double | hstep, | ||
G4double & | dchord_step, | ||
G4double & | dyerr_pos_sq, | ||
G4double & | dyerr_mom_rel_sq | ||
) |
Definition at line 619 of file G4OldMagIntDriver.cc.
References FatalException, G4Exception(), G4FieldTrack::GetPosition(), and CLHEP::Hep3Vector::mag2().
|
overridevirtual |
Reimplemented from G4VIntegrationDriver.
Definition at line 638 of file G4OldMagIntDriver.cc.
References ComputeNewStepSize(), G4FieldTrack::DumpToArray(), eps, fNoIntegrationVariables, fVerboseLevel, G4cout, G4endl, G4ThreadLocal, G4FieldTrack::GetCurveLength(), G4FieldTrack::LoadFromArray(), G4FieldTrack::ncompSVEC, pIntStepper, PrintStatus(), G4FieldTrack::SetCurveLength(), and sqr().
Referenced by AccurateAdvance().
|
overridevirtual |
Reimplemented from G4VIntegrationDriver.
Definition at line 1041 of file G4OldMagIntDriver.cc.
References pIntStepper, and ReSetParameters().
Referenced by G4OldMagIntDriver().
|
inline |
Referenced by RenewStepperAndAdjust().
|
inherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1026 of file G4OldMagIntDriver.cc.
References pIntStepper, and G4MagIntegratorStepper::SetEquationOfMotion().
|
inline |
|
inherited |
|
inherited |
|
inline |
|
inherited |
|
inline |
|
inline |
|
inline |
|
inline |
void G4OldMagIntDriver::SetSmallestFraction | ( | G4double | val | ) |
Definition at line 985 of file G4OldMagIntDriver.cc.
References fSmallestFraction, G4endl, G4Exception(), and JustWarning.
|
overridevirtual |
Implements G4VIntegrationDriver.
|
inherited |
|
overridevirtual |
Implements G4VIntegrationDriver.
Definition at line 1048 of file G4OldMagIntDriver.cc.
References DoesReIntegrate(), errcon, fMaxNoSteps, fMaxStepBase, fMinimumStep, fMinNoVars, fNoIntegrationVariables, fNoVars, fSmallestFraction, fVerboseLevel, pgrow, pshrnk, and safety.
|
inherited |
|
protected |
Definition at line 457 of file G4OldMagIntDriver.cc.
References eps, G4endl, G4Exception(), G4ThreadLocal, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and JustWarning.
Referenced by AccurateAdvance().
|
protected |
Definition at line 408 of file G4OldMagIntDriver.cc.
References fVerboseLevel, G4endl, G4Exception(), G4ThreadLocal, Hmin(), and JustWarning.
Referenced by AccurateAdvance().
|
protected |
Definition at line 440 of file G4OldMagIntDriver.cc.
References G4endl, G4Exception(), and JustWarning.
Referenced by AccurateAdvance().
|
private |
Definition at line 240 of file G4OldMagIntDriver.hh.
Referenced by ComputeNewStepSize_WithinLimits(), OneGoodStep(), and StreamInfo().
|
private |
Definition at line 255 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance().
|
private |
Definition at line 255 of file G4OldMagIntDriver.hh.
|
private |
Definition at line 256 of file G4OldMagIntDriver.hh.
|
private |
Definition at line 256 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance().
|
private |
Definition at line 256 of file G4OldMagIntDriver.hh.
|
privateinherited |
Definition at line 101 of file G4ChordFinderDelegate.hh.
|
privateinherited |
Definition at line 102 of file G4ChordFinderDelegate.hh.
|
privateinherited |
Definition at line 103 of file G4ChordFinderDelegate.hh.
|
privateinherited |
Definition at line 104 of file G4ChordFinderDelegate.hh.
|
private |
Definition at line 233 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), G4OldMagIntDriver(), and StreamInfo().
|
private |
Definition at line 234 of file G4OldMagIntDriver.hh.
Referenced by G4OldMagIntDriver(), and StreamInfo().
|
privateinherited |
Definition at line 108 of file G4ChordFinderDelegate.hh.
|
private |
Definition at line 223 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), G4OldMagIntDriver(), OneGoodStep(), and StreamInfo().
|
private |
Definition at line 230 of file G4OldMagIntDriver.hh.
Referenced by StreamInfo().
|
private |
Definition at line 253 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), and PrintStatisticsReport().
|
private |
Definition at line 254 of file G4OldMagIntDriver.hh.
|
private |
Definition at line 254 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), and PrintStatisticsReport().
|
private |
Definition at line 229 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), OneGoodStep(), PrintStatus(), QuickAdvance(), and StreamInfo().
|
private |
Definition at line 254 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), and PrintStatisticsReport().
|
private |
Definition at line 253 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), and PrintStatisticsReport().
|
private |
Definition at line 231 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), and StreamInfo().
|
private |
Definition at line 225 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), SetSmallestFraction(), and StreamInfo().
|
private |
Definition at line 243 of file G4OldMagIntDriver.hh.
Referenced by G4OldMagIntDriver(), and ~G4OldMagIntDriver().
|
private |
Definition at line 257 of file G4OldMagIntDriver.hh.
|
private |
Definition at line 257 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance().
|
privateinherited |
Definition at line 106 of file G4ChordFinderDelegate.hh.
|
private |
Definition at line 260 of file G4OldMagIntDriver.hh.
Referenced by G4OldMagIntDriver(), PrintStatus(), QuickAdvance(), StreamInfo(), and WarnSmallStepSize().
|
staticconstexprprotectedinherited |
Definition at line 123 of file G4VIntegrationDriver.hh.
Referenced by G4MagInt_Driver::ComputeNewStepSize_WithinLimits(), and ComputeNewStepSize_WithinLimits().
|
staticconstexprprotectedinherited |
Definition at line 122 of file G4VIntegrationDriver.hh.
Referenced by ComputeNewStepSize(), G4MagInt_Driver::ComputeNewStepSize_WithinLimits(), ComputeNewStepSize_WithinLimits(), G4MagInt_Driver::ComputeNewStepSize_WithoutReductionLimit(), G4MagInt_Driver::OneGoodStep(), and OneGoodStep().
|
private |
Definition at line 239 of file G4OldMagIntDriver.hh.
Referenced by StreamInfo().
|
private |
Definition at line 248 of file G4OldMagIntDriver.hh.
Referenced by AccurateAdvance(), G4OldMagIntDriver(), GetDerivatives(), GetEquationOfMotion(), GetStepper(), OneGoodStep(), QuickAdvance(), RenewStepperAndAdjust(), and SetEquationOfMotion().
|
private |
Definition at line 238 of file G4OldMagIntDriver.hh.
Referenced by StreamInfo().
|
private |
Definition at line 237 of file G4OldMagIntDriver.hh.
Referenced by StreamInfo().