Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4IntegrationDriver< T > Class Template Reference

#include <G4IntegrationDriver.hh>

+ Inheritance diagram for G4IntegrationDriver< T >:

Public Member Functions

 G4IntegrationDriver (G4double hminimum, T *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=0)
 
 ~G4IntegrationDriver () override
 
 G4IntegrationDriver (const G4IntegrationDriver &)=delete
 
const G4IntegrationDriveroperator= (const G4IntegrationDriver &)=delete
 
G4double AdvanceChordLimited (G4FieldTrack &track, G4double stepMax, G4double epsStep, G4double chordDistance) override
 
void OnStartTracking () override
 
void OnComputeStep (const G4FieldTrack *=nullptr) override
 
G4bool DoesReIntegrate () const override
 
G4bool AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0) override
 
G4bool QuickAdvance (G4FieldTrack &fieldTrack, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
 
void SetVerboseLevel (G4int newLevel) override
 
G4int GetVerboseLevel () const override
 
void StreamInfo (std::ostream &os) const override
 
G4double GetMinimumStep () const
 
void SetMinimumStep (G4double newval)
 
void OneGoodStep (G4double yVar[], const G4double dydx[], G4double &curveLength, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
 
G4double GetSmallestFraction () const
 
void SetSmallestFraction (G4double val)
 
- Public Member Functions inherited from G4RKIntegrationDriver< T >
 G4RKIntegrationDriver (T *stepper)
 
 G4RKIntegrationDriver (const G4RKIntegrationDriver &)=delete
 
G4RKIntegrationDriveroperator= (const G4RKIntegrationDriver &)=delete
 
void GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const override
 
void GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const override
 
G4double ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) final
 
G4EquationOfMotionGetEquationOfMotion () override
 
void SetEquationOfMotion (G4EquationOfMotion *equation) override
 
const T * GetStepper () const override
 
T * GetStepper () override
 
void StreamInfo (std::ostream &os) const override
 
G4double GetSafety () const
 
G4double GetPshrnk () const
 
G4double GetPgrow () const
 
void RenewStepperAndAdjust (G4MagIntegratorStepper *stepper) override
 
void ReSetParameters (G4double safety=0.9)
 
void SetSafety (G4double valS)
 
G4int GetMaxNoSteps () const
 
void SetMaxNoSteps (G4int val)
 
G4double GetSmallestFraction () const
 
void SetSmallestFraction (G4double val)
 
- Public Member Functions inherited from G4VIntegrationDriver
virtual ~G4VIntegrationDriver ()=default
 
- Public Member Functions inherited from G4ChordFinderDelegate< G4IntegrationDriver< T > >
virtual ~G4ChordFinderDelegate ()
 
G4double AdvanceChordLimitedImpl (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)
 
void ResetStepEstimate ()
 
void TestChordPrint (G4int noTrials, G4int lastStepTrial, G4double dChordStep, G4double fDeltaChord, G4double nextStepTrial)
 
G4int GetNoCalls ()
 
G4int GetNoTrials ()
 
G4int GetNoMaxTrials ()
 
void SetFractions_Last_Next (G4double fractLast=0.90, G4double fractNext=0.95)
 
void SetFirstFraction (G4double fractFirst)
 
G4double GetFirstFraction ()
 
G4double GetFractionLast ()
 
G4double GetFractionNextEstimate ()
 
G4double GetLastStepEstimateUnc ()
 
void SetLastStepEstimateUnc (G4double stepEst)
 
void StreamDelegateInfo (std::ostream &os) const
 

Protected Member Functions

void IncrementQuickAdvanceCalls ()
 
- Protected Member Functions inherited from G4RKIntegrationDriver< T >
G4double ShrinkStepSize (G4double h, G4double error) const
 
G4double GrowStepSize (G4double h, G4double error) const
 
G4double ShrinkStepSize2 (G4double h, G4double error2) const
 
G4double GrowStepSize2 (G4double h, G4double error2) const
 
void UpdateErrorConstraints ()
 

Additional Inherited Members

- Static Protected Attributes inherited from G4VIntegrationDriver
static constexpr G4double max_stepping_increase = 5
 
static constexpr G4double max_stepping_decrease = 0.1
 

Detailed Description

template<class T>
class G4IntegrationDriver< T >

Definition at line 48 of file G4IntegrationDriver.hh.

Constructor & Destructor Documentation

◆ G4IntegrationDriver() [1/2]

template<class T >
G4IntegrationDriver< T >::G4IntegrationDriver ( G4double hminimum,
T * stepper,
G4int numberOfComponents = 6,
G4int statisticsVerbosity = 0 )

◆ ~G4IntegrationDriver()

template<class T >
G4IntegrationDriver< T >::~G4IntegrationDriver ( )
override

◆ G4IntegrationDriver() [2/2]

template<class T >
G4IntegrationDriver< T >::G4IntegrationDriver ( const G4IntegrationDriver< T > & )
delete

Member Function Documentation

◆ AccurateAdvance()

template<class T >
G4bool G4IntegrationDriver< T >::AccurateAdvance ( G4FieldTrack & track,
G4double hstep,
G4double eps,
G4double hinitial = 0 )
overridevirtual

Implements G4VIntegrationDriver.

◆ AdvanceChordLimited()

template<class T >
G4double G4IntegrationDriver< T >::AdvanceChordLimited ( G4FieldTrack & track,
G4double stepMax,
G4double epsStep,
G4double chordDistance )
overridevirtual

Implements G4VIntegrationDriver.

◆ DoesReIntegrate()

template<class T >
G4bool G4IntegrationDriver< T >::DoesReIntegrate ( ) const
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 69 of file G4IntegrationDriver.hh.

69{ return true; }

◆ GetMinimumStep()

template<class T >
G4double G4IntegrationDriver< T >::GetMinimumStep ( ) const

◆ GetSmallestFraction()

template<class T >
G4double G4IntegrationDriver< T >::GetSmallestFraction ( ) const

◆ GetVerboseLevel()

template<class T >
G4int G4IntegrationDriver< T >::GetVerboseLevel ( ) const
overridevirtual

Implements G4VIntegrationDriver.

◆ IncrementQuickAdvanceCalls()

template<class T >
void G4IntegrationDriver< T >::IncrementQuickAdvanceCalls ( )
protected

◆ OnComputeStep()

template<class T >
void G4IntegrationDriver< T >::OnComputeStep ( const G4FieldTrack * = nullptr)
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 68 of file G4IntegrationDriver.hh.

68{}

◆ OneGoodStep()

template<class T >
void G4IntegrationDriver< T >::OneGoodStep ( G4double yVar[],
const G4double dydx[],
G4double & curveLength,
G4double htry,
G4double eps,
G4double & hdid,
G4double & hnext )

◆ OnStartTracking()

template<class T >
void G4IntegrationDriver< T >::OnStartTracking ( )
overridevirtual

Implements G4VIntegrationDriver.

◆ operator=()

template<class T >
const G4IntegrationDriver & G4IntegrationDriver< T >::operator= ( const G4IntegrationDriver< T > & )
delete

◆ QuickAdvance()

template<class T >
G4bool G4IntegrationDriver< T >::QuickAdvance ( G4FieldTrack & fieldTrack,
const G4double dydx[],
G4double hstep,
G4double & dchord_step,
G4double & dyerr )
overridevirtual

Reimplemented from G4VIntegrationDriver.

◆ SetMinimumStep()

template<class T >
void G4IntegrationDriver< T >::SetMinimumStep ( G4double newval)

◆ SetSmallestFraction()

template<class T >
void G4IntegrationDriver< T >::SetSmallestFraction ( G4double val)

◆ SetVerboseLevel()

template<class T >
void G4IntegrationDriver< T >::SetVerboseLevel ( G4int newLevel)
overridevirtual

Implements G4VIntegrationDriver.

◆ StreamInfo()

template<class T >
void G4IntegrationDriver< T >::StreamInfo ( std::ostream & os) const
overridevirtual

Implements G4VIntegrationDriver.


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