#include <G4MagIntegratorDriver.hh>
|
G4bool | AccurateAdvance (G4FieldTrack &y_current, G4double hstep, G4double eps, G4double hinitial=0.0) |
|
G4bool | QuickAdvance (G4FieldTrack &y_val, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) |
|
G4bool | QuickAdvance (G4FieldTrack &y_posvel, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr_pos_sq, G4double &dyerr_mom_rel_sq) |
|
| G4MagInt_Driver (G4double hminimum, G4MagIntegratorStepper *pItsStepper, G4int numberOfComponents=6, G4int statisticsVerbosity=1) |
|
| ~G4MagInt_Driver () |
|
G4double | GetHmin () const |
|
G4double | Hmin () const |
|
G4double | GetSafety () const |
|
G4double | GetPshrnk () const |
|
G4double | GetPgrow () const |
|
G4double | GetErrcon () const |
|
void | GetDerivatives (const G4FieldTrack &y_curr, G4double dydx[]) |
|
void | RenewStepperAndAdjust (G4MagIntegratorStepper *pItsStepper) |
|
void | ReSetParameters (G4double new_safety=0.9) |
|
void | SetSafety (G4double valS) |
|
void | SetPshrnk (G4double valPs) |
|
void | SetPgrow (G4double valPg) |
|
void | SetErrcon (G4double valEc) |
|
G4double | ComputeAndSetErrcon () |
|
const G4MagIntegratorStepper * | GetStepper () const |
|
G4MagIntegratorStepper * | GetStepper () |
|
void | OneGoodStep (G4double ystart[], const G4double dydx[], G4double &x, G4double htry, G4double eps, G4double &hdid, G4double &hnext) |
|
G4double | ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) |
|
G4double | ComputeNewStepSize_WithinLimits (G4double errMaxNorm, G4double hstepCurrent) |
|
G4int | GetMaxNoSteps () const |
|
void | SetMaxNoSteps (G4int val) |
|
void | SetHmin (G4double newval) |
|
void | SetVerboseLevel (G4int newLevel) |
|
G4double | GetVerboseLevel () const |
|
G4double | GetSmallestFraction () const |
|
void | SetSmallestFraction (G4double val) |
|
|
void | WarnSmallStepSize (G4double hnext, G4double hstep, G4double h, G4double xDone, G4int noSteps) |
|
void | WarnTooManyStep (G4double x1start, G4double x2end, G4double xCurrent) |
|
void | WarnEndPointTooFar (G4double endPointDist, G4double hStepSize, G4double epsilonRelative, G4int debugFlag) |
|
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 | PrintStat_Aux (const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities) |
|
void | PrintStatisticsReport () |
|
Definition at line 48 of file G4MagIntegratorDriver.hh.
G4MagInt_Driver::~G4MagInt_Driver |
( |
| ) |
|
Definition at line 127 of file G4MagIntegratorDriver.cc.
References ComputeNewStepSize(), G4MagIntegratorStepper::ComputeRightHandSide(), 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(), QuickAdvance(), G4FieldTrack::SetCurveLength(), WarnEndPointTooFar(), WarnSmallStepSize(), and WarnTooManyStep().
Referenced by G4ChordFinder::AdvanceChordLimited(), G4ChordFinder::ApproxCurvePointS(), G4ChordFinder::ApproxCurvePointV(), G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4RKPropagation::FieldTransport(), and G4VIntersectionLocator::ReEstimateEndpoint().
G4double G4MagInt_Driver::ComputeAndSetErrcon |
( |
| ) |
|
|
inline |
G4double G4MagInt_Driver::GetErrcon |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetHmin |
( |
| ) |
const |
|
inline |
G4int G4MagInt_Driver::GetMaxNoSteps |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetPgrow |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetPshrnk |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetSafety |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetSmallestFraction |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::GetVerboseLevel |
( |
| ) |
const |
|
inline |
G4double G4MagInt_Driver::Hmin |
( |
| ) |
const |
|
inline |
Definition at line 517 of file G4MagIntegratorDriver.cc.
References errcon, fDyerrPos_lgTot, fDyerrVel_lgTot, fMinimumStep, fNoIntegrationVariables, fSumH_lg, G4cerr, G4endl, G4ThreadLocal, GetPgrow(), GetPshrnk(), GetSafety(), G4INCL::Math::max(), max_stepping_increase, G4FieldTrack::ncompSVEC, pIntStepper, and sqr().
Referenced by AccurateAdvance().
void G4MagInt_Driver::PrintStatisticsReport |
( |
| ) |
|
|
protected |
Definition at line 995 of file G4MagIntegratorDriver.cc.
References fDyerr_max, fDyerr_mx2, fDyerrPos_lgTot, fDyerrPos_smTot, fDyerrVel_lgTot, fMinimumStep, fNoBadSteps, fNoInitialSmallSteps, fNoSmallSteps, fNoTotalSteps, fSumH_lg, fSumH_sm, G4cout, and G4endl.
Referenced by ~G4MagInt_Driver().
Definition at line 663 of file G4MagIntegratorDriver.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(), G4ChordFinderSaf::FindNextChord(), and G4ChordFinder::FindNextChord().
void G4MagInt_Driver::ReSetParameters |
( |
G4double |
new_safety = 0.9 | ) |
|
|
inline |
void G4MagInt_Driver::SetErrcon |
( |
G4double |
valEc | ) |
|
|
inline |
void G4MagInt_Driver::SetHmin |
( |
G4double |
newval | ) |
|
|
inline |
void G4MagInt_Driver::SetMaxNoSteps |
( |
G4int |
val | ) |
|
|
inline |
void G4MagInt_Driver::SetPgrow |
( |
G4double |
valPg | ) |
|
|
inline |
void G4MagInt_Driver::SetPshrnk |
( |
G4double |
valPs | ) |
|
|
inline |
void G4MagInt_Driver::SetSafety |
( |
G4double |
valS | ) |
|
|
inline |
void G4MagInt_Driver::SetSmallestFraction |
( |
G4double |
val | ) |
|
void G4MagInt_Driver::SetVerboseLevel |
( |
G4int |
newLevel | ) |
|
|
inline |
G4double G4MagInt_Driver::fDyerrPos_lgTot |
|
private |
G4double G4MagInt_Driver::fDyerrPos_smTot |
|
private |
G4double G4MagInt_Driver::fDyerrVel_lgTot |
|
private |
G4int G4MagInt_Driver::fMaxNoSteps |
|
private |
const G4int G4MagInt_Driver::fMaxStepBase = 250 |
|
staticprivate |
const G4int G4MagInt_Driver::fMinNoVars |
|
private |
G4int G4MagInt_Driver::fNoBadSteps |
|
private |
G4int G4MagInt_Driver::fNoInitialSmallSteps |
|
private |
const G4int G4MagInt_Driver::fNoIntegrationVariables |
|
private |
G4int G4MagInt_Driver::fNoSmallSteps |
|
private |
G4int G4MagInt_Driver::fNoTotalSteps |
|
private |
const G4int G4MagInt_Driver::fNoVars |
|
private |
G4double G4MagInt_Driver::fSmallestFraction |
|
private |
G4int G4MagInt_Driver::fStatisticsVerboseLevel |
|
private |
G4int G4MagInt_Driver::fVerboseLevel |
|
private |
const G4double G4MagInt_Driver::max_stepping_decrease = 0.1 |
|
staticprivate |
const G4double G4MagInt_Driver::max_stepping_increase = 5.0 |
|
staticprivate |
The documentation for this class was generated from the following files: