Geant4-11
Public Member Functions | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes
G4IntegrationDriver< G4BulirschStoer > Class Reference

#include <G4BulirschStoerDriver.hh>

Inheritance diagram for G4IntegrationDriver< G4BulirschStoer >:
G4VIntegrationDriver G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >

Public Member Functions

virtual G4bool AccurateAdvance (G4FieldTrack &track, G4double stepLen, G4double eps, G4double beginStep=0) override
 ???? More...
 
virtual G4double AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance) override
 
G4double AdvanceChordLimitedImpl (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)
 
virtual G4double ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) override
 
virtual G4bool DoesReIntegrate () const override
 
 G4IntegrationDriver (const G4IntegrationDriver &)=delete
 
 G4IntegrationDriver (G4double hminimum, G4BulirschStoer *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=1)
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const override
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const override
 
const G4EquationOfMotionGetEquationOfMotion () const
 
virtual G4EquationOfMotionGetEquationOfMotion () override
 
G4double GetFirstFraction ()
 
G4double GetFractionLast ()
 
G4double GetFractionNextEstimate ()
 
G4double GetLastStepEstimateUnc ()
 
G4int GetNoCalls ()
 
G4int GetNoMaxTrials ()
 
G4int GetNoTrials ()
 
virtual const G4MagIntegratorStepperGetStepper () const override
 
virtual G4MagIntegratorStepperGetStepper () override
 
virtual G4int GetVerboseLevel () const override
 
virtual void OnComputeStep () override
 
void OneGoodStep (G4double y[], const G4double dydx[], G4double &curveLength, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
 
virtual void OnStartTracking () override
 
G4IntegrationDriveroperator= (const G4IntegrationDriver &)=delete
 
virtual G4bool QuickAdvance (G4FieldTrack &y_val, const G4double dydx[], G4double hstep, G4double &missDist, G4double &dyerr) override
 
virtual void RenewStepperAndAdjust (G4MagIntegratorStepper *pItsStepper)
 
void ResetStepEstimate ()
 
virtual void SetEquationOfMotion (G4EquationOfMotion *equation) override
 
void SetFirstFraction (G4double fractFirst)
 
void SetFractions_Last_Next (G4double fractLast=0.90, G4double fractNext=0.95)
 
void SetLastStepEstimateUnc (G4double stepEst)
 
virtual void SetVerboseLevel (G4int level) override
 
void StreamDelegateInfo (std::ostream &os) const
 
virtual void StreamInfo (std::ostream &os) const override
 
void TestChordPrint (G4int noTrials, G4int lastStepTrial, G4double dChordStep, G4double fDeltaChord, G4double nextStepTrial)
 
 ~G4IntegrationDriver ()=default
 

Static Protected Attributes

static constexpr G4double max_stepping_decrease = 0.1
 
static constexpr G4double max_stepping_increase = 5
 

Private Types

using ChordFinderDelegate = G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >
 

Private Member Functions

void AccumulateStatistics (G4int noTrials)
 
G4double FindNextChord (const G4FieldTrack &yStart, G4double stepMax, G4double epsStep, G4double chordDistance, G4FieldTrack &yEnd, G4double &dyErrPos, G4double &pStepForAccuracy)
 
G4IntegrationDriver< G4BulirschStoer > & GetDriver ()
 
G4int GetNumberOfVarialbles () const
 
G4double NewStep (G4double stepTrialOld, G4double dChordStep, G4double fDeltaChord, G4double &stepEstimate_Unconstrained)
 
void PrintStatistics ()
 

Private Attributes

G4BulirschStoerbulirschStoer
 
G4double derivs [2][6][G4FieldTrack::ncompSVEC]
 
G4double dydxCurrent [G4FieldTrack::ncompSVEC]
 
G4double fFirstFraction
 
G4double fFractionLast
 
G4double fFractionNextEstimate
 
G4double fLastStepEstimate_Unconstrained
 
G4int fmaxTrials
 
G4ModifiedMidpoint fMidpointMethod
 
G4double fMinimumStep
 
G4int fNoCalls
 
G4int fTotalNoTrials
 
G4double fVerbosity
 
const G4int interval_sequence [2]
 
G4double yCurrent [G4FieldTrack::ncompSVEC]
 
G4double yError [G4FieldTrack::ncompSVEC]
 
G4double yIn [G4FieldTrack::ncompSVEC]
 
G4double yMid [G4FieldTrack::ncompSVEC]
 
G4double yMid2 [G4FieldTrack::ncompSVEC]
 
G4double yOut [G4FieldTrack::ncompSVEC]
 
G4double yOut2 [G4FieldTrack::ncompSVEC]
 

Detailed Description

Definition at line 43 of file G4BulirschStoerDriver.hh.

Member Typedef Documentation

◆ ChordFinderDelegate

Definition at line 145 of file G4BulirschStoerDriver.hh.

Constructor & Destructor Documentation

◆ G4IntegrationDriver() [1/2]

G4IntegrationDriver< G4BulirschStoer >::G4IntegrationDriver ( G4double  hminimum,
G4BulirschStoer stepper,
G4int  numberOfComponents = 6,
G4int  statisticsVerbosity = 1 
)

◆ ~G4IntegrationDriver()

◆ G4IntegrationDriver() [2/2]

Member Function Documentation

◆ AccumulateStatistics()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::AccumulateStatistics ( G4int  noTrials)
privateinherited

◆ AccurateAdvance()

virtual G4bool G4IntegrationDriver< G4BulirschStoer >::AccurateAdvance ( G4FieldTrack track,
G4double  stepLen,
G4double  eps,
G4double  beginStep = 0 
)
overridevirtual

????

Implements G4VIntegrationDriver.

◆ AdvanceChordLimited()

virtual G4double G4IntegrationDriver< G4BulirschStoer >::AdvanceChordLimited ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  chordDistance 
)
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 59 of file G4BulirschStoerDriver.hh.

63 {
65 AdvanceChordLimitedImpl(track, hstep, eps, chordDistance);
66 }
static const G4double eps
G4double AdvanceChordLimitedImpl(G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)

References G4ChordFinderDelegate< G4IntegrationDriver< T > >::AdvanceChordLimitedImpl(), and eps.

◆ AdvanceChordLimitedImpl()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::AdvanceChordLimitedImpl ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  chordDistance 
)
inherited

◆ ComputeNewStepSize()

virtual G4double G4IntegrationDriver< G4BulirschStoer >::ComputeNewStepSize ( G4double  errMaxNorm,
G4double  hstepCurrent 
)
overridevirtual

Implements G4VIntegrationDriver.

◆ DoesReIntegrate()

virtual G4bool G4IntegrationDriver< G4BulirschStoer >::DoesReIntegrate ( ) const
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 75 of file G4BulirschStoerDriver.hh.

75{ return false; }

◆ FindNextChord()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::FindNextChord ( const G4FieldTrack yStart,
G4double  stepMax,
G4double  epsStep,
G4double  chordDistance,
G4FieldTrack yEnd,
G4double dyErrPos,
G4double pStepForAccuracy 
)
privateinherited

◆ GetDerivatives() [1/2]

virtual void G4IntegrationDriver< G4BulirschStoer >::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[] 
) const
overridevirtual

Implements G4VIntegrationDriver.

◆ GetDerivatives() [2/2]

virtual void G4IntegrationDriver< G4BulirschStoer >::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[],
G4double  field[] 
) const
overridevirtual

Implements G4VIntegrationDriver.

◆ GetDriver()

◆ GetEquationOfMotion() [1/2]

const G4EquationOfMotion * G4IntegrationDriver< G4BulirschStoer >::GetEquationOfMotion ( ) const

◆ GetEquationOfMotion() [2/2]

virtual G4EquationOfMotion * G4IntegrationDriver< G4BulirschStoer >::GetEquationOfMotion ( )
overridevirtual

Implements G4VIntegrationDriver.

◆ GetFirstFraction()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::GetFirstFraction ( )
inherited

◆ GetFractionLast()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::GetFractionLast ( )
inherited

◆ GetFractionNextEstimate()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::GetFractionNextEstimate ( )
inherited

◆ GetLastStepEstimateUnc()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::GetLastStepEstimateUnc ( )
inherited

◆ GetNoCalls()

◆ GetNoMaxTrials()

G4int G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::GetNoMaxTrials ( )
inherited

◆ GetNoTrials()

◆ GetNumberOfVarialbles()

G4int G4IntegrationDriver< G4BulirschStoer >::GetNumberOfVarialbles ( ) const
private

◆ GetStepper() [1/2]

virtual const G4MagIntegratorStepper * G4IntegrationDriver< G4BulirschStoer >::GetStepper ( ) const
overridevirtual

Implements G4VIntegrationDriver.

◆ GetStepper() [2/2]

virtual G4MagIntegratorStepper * G4IntegrationDriver< G4BulirschStoer >::GetStepper ( )
overridevirtual

Implements G4VIntegrationDriver.

◆ GetVerboseLevel()

virtual G4int G4IntegrationDriver< G4BulirschStoer >::GetVerboseLevel ( ) const
overridevirtual

Implements G4VIntegrationDriver.

◆ NewStep()

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::NewStep ( G4double  stepTrialOld,
G4double  dChordStep,
G4double  fDeltaChord,
G4double stepEstimate_Unconstrained 
)
privateinherited

◆ OnComputeStep()

virtual void G4IntegrationDriver< G4BulirschStoer >::OnComputeStep ( )
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 73 of file G4BulirschStoerDriver.hh.

73{};

◆ OneGoodStep()

void G4IntegrationDriver< G4BulirschStoer >::OneGoodStep ( G4double  y[],
const G4double  dydx[],
G4double curveLength,
G4double  htry,
G4double  eps,
G4double hdid,
G4double hnext 
)

◆ OnStartTracking()

virtual void G4IntegrationDriver< G4BulirschStoer >::OnStartTracking ( )
inlineoverridevirtual

◆ operator=()

◆ PrintStatistics()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::PrintStatistics ( )
privateinherited

◆ QuickAdvance()

virtual G4bool G4IntegrationDriver< G4BulirschStoer >::QuickAdvance ( G4FieldTrack y_val,
const G4double  dydx[],
G4double  hstep,
G4double missDist,
G4double dyerr 
)
overridevirtual

Reimplemented from G4VIntegrationDriver.

◆ RenewStepperAndAdjust()

void G4VIntegrationDriver::RenewStepperAndAdjust ( G4MagIntegratorStepper pItsStepper)
virtualinherited

Reimplemented in G4MagInt_Driver, G4OldMagIntDriver, and G4RKIntegrationDriver< T >.

Definition at line 34 of file G4VIntegrationDriver.cc.

35{
36 G4Exception("G4VIntegrationDriver::RenewStepperAndAdjust",
37 "Geometry001", FatalException,
38 "This method exists only for the original G4MagIntegratorDriver class. "
39 "Not defined for other classes derived from G4VIntegrationDriver");
40}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

References FatalException, and G4Exception().

◆ ResetStepEstimate()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::ResetStepEstimate ( )
inherited

◆ SetEquationOfMotion()

virtual void G4IntegrationDriver< G4BulirschStoer >::SetEquationOfMotion ( G4EquationOfMotion equation)
overridevirtual

Implements G4VIntegrationDriver.

◆ SetFirstFraction()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::SetFirstFraction ( G4double  fractFirst)
inherited

◆ SetFractions_Last_Next()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::SetFractions_Last_Next ( G4double  fractLast = 0.90,
G4double  fractNext = 0.95 
)
inherited

◆ SetLastStepEstimateUnc()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::SetLastStepEstimateUnc ( G4double  stepEst)
inherited

◆ SetVerboseLevel()

virtual void G4IntegrationDriver< G4BulirschStoer >::SetVerboseLevel ( G4int  level)
overridevirtual

Implements G4VIntegrationDriver.

◆ StreamDelegateInfo()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::StreamDelegateInfo ( std::ostream &  os) const
inherited

◆ StreamInfo()

virtual void G4IntegrationDriver< G4BulirschStoer >::StreamInfo ( std::ostream &  os) const
overridevirtual

Implements G4VIntegrationDriver.

◆ TestChordPrint()

void G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::TestChordPrint ( G4int  noTrials,
G4int  lastStepTrial,
G4double  dChordStep,
G4double  fDeltaChord,
G4double  nextStepTrial 
)
inherited

Field Documentation

◆ bulirschStoer

Definition at line 128 of file G4BulirschStoerDriver.hh.

◆ derivs

Definition at line 141 of file G4BulirschStoerDriver.hh.

◆ dydxCurrent

Definition at line 138 of file G4BulirschStoerDriver.hh.

◆ fFirstFraction

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fFirstFraction
privateinherited

Definition at line 101 of file G4ChordFinderDelegate.hh.

◆ fFractionLast

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fFractionLast
privateinherited

Definition at line 102 of file G4ChordFinderDelegate.hh.

◆ fFractionNextEstimate

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fFractionNextEstimate
privateinherited

Definition at line 103 of file G4ChordFinderDelegate.hh.

◆ fLastStepEstimate_Unconstrained

G4double G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fLastStepEstimate_Unconstrained
privateinherited

Definition at line 104 of file G4ChordFinderDelegate.hh.

◆ fmaxTrials

G4int G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fmaxTrials
privateinherited

Definition at line 108 of file G4ChordFinderDelegate.hh.

◆ fMidpointMethod

Definition at line 127 of file G4BulirschStoerDriver.hh.

◆ fMinimumStep

G4double G4IntegrationDriver< G4BulirschStoer >::fMinimumStep
private

Definition at line 124 of file G4BulirschStoerDriver.hh.

◆ fNoCalls

Definition at line 107 of file G4ChordFinderDelegate.hh.

◆ fTotalNoTrials

G4int G4ChordFinderDelegate< G4IntegrationDriver< G4BulirschStoer > >::fTotalNoTrials
privateinherited

Definition at line 106 of file G4ChordFinderDelegate.hh.

◆ fVerbosity

Definition at line 125 of file G4BulirschStoerDriver.hh.

◆ interval_sequence

const G4int G4IntegrationDriver< G4BulirschStoer >::interval_sequence[2]
private

Definition at line 143 of file G4BulirschStoerDriver.hh.

◆ max_stepping_decrease

constexpr G4double G4VIntegrationDriver::max_stepping_decrease = 0.1
staticconstexprprotectedinherited

◆ max_stepping_increase

constexpr G4double G4VIntegrationDriver::max_stepping_increase = 5
staticconstexprprotectedinherited

◆ yCurrent

Definition at line 139 of file G4BulirschStoerDriver.hh.

◆ yError

Definition at line 135 of file G4BulirschStoerDriver.hh.

◆ yIn

Definition at line 130 of file G4BulirschStoerDriver.hh.

◆ yMid

Definition at line 131 of file G4BulirschStoerDriver.hh.

◆ yMid2

Definition at line 132 of file G4BulirschStoerDriver.hh.

◆ yOut

Definition at line 133 of file G4BulirschStoerDriver.hh.

◆ yOut2

Definition at line 134 of file G4BulirschStoerDriver.hh.


The documentation for this class was generated from the following file: