ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4RKIntegrationDriver< T > Class Template Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/magneticfield/include/G4RKIntegrationDriver.hh>

+ Inheritance diagram for G4RKIntegrationDriver< T >:
+ Collaboration diagram for G4RKIntegrationDriver< T >:

Public Member Functions

 G4RKIntegrationDriver (T *stepper)
 
 G4RKIntegrationDriver (const G4RKIntegrationDriver &)=delete
 
G4RKIntegrationDriveroperator= (const G4RKIntegrationDriver &)=delete
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const override
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const override
 
virtual G4double ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) override
 
virtual G4EquationOfMotionGetEquationOfMotion () override
 
virtual void SetEquationOfMotion (G4EquationOfMotion *equation) override
 
virtual const TGetStepper () const override
 
virtual TGetStepper () override
 
G4double GetSafety () const
 
G4double GetPshrnk () const
 
G4double GetPgrow () const
 
virtual 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
 
virtual G4double AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)=0
 
virtual G4bool AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0)=0
 
virtual void SetVerboseLevel (G4int level)=0
 
virtual G4int GetVerboseLevel () const =0
 
virtual void OnComputeStep ()=0
 
virtual void OnStartTracking ()=0
 
virtual G4bool QuickAdvance (G4FieldTrack &, const G4double[], G4double, G4double &, G4double &)
 
virtual G4bool DoesReIntegrate ()=0
 

Protected Member Functions

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 ()
 

Private Member Functions

void RenewStepperAndAdjustImpl (T *stepper)
 

Private Attributes

G4int fMaxNoSteps
 
G4int fMaxStepBase
 
G4double safety
 
G4double pshrnk
 
G4double pgrow
 
G4double errorConstraintShrink
 
G4double errorConstraintGrow
 
TpIntStepper = nullptr
 

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 G4RKIntegrationDriver< T >

Definition at line 41 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 41 of file G4RKIntegrationDriver.hh

Constructor & Destructor Documentation

template<class T >
G4RKIntegrationDriver< T >::G4RKIntegrationDriver ( T stepper)
template<class T >
G4RKIntegrationDriver< T >::G4RKIntegrationDriver ( const G4RKIntegrationDriver< T > &  )
delete

Member Function Documentation

template<class T >
virtual G4double G4RKIntegrationDriver< T >::ComputeNewStepSize ( G4double  errMaxNorm,
G4double  hstepCurrent 
)
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
virtual void G4RKIntegrationDriver< T >::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[] 
) const
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
virtual void G4RKIntegrationDriver< T >::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[],
G4double  field[] 
) const
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
virtual G4EquationOfMotion* G4RKIntegrationDriver< T >::GetEquationOfMotion ( )
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
G4int G4RKIntegrationDriver< T >::GetMaxNoSteps ( ) const
template<class T >
G4double G4RKIntegrationDriver< T >::GetPgrow ( ) const
template<class T >
G4double G4RKIntegrationDriver< T >::GetPshrnk ( ) const
template<class T >
G4double G4RKIntegrationDriver< T >::GetSafety ( ) const
template<class T >
G4double G4RKIntegrationDriver< T >::GetSmallestFraction ( ) const
template<class T >
virtual const T* G4RKIntegrationDriver< T >::GetStepper ( ) const
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
virtual T* G4RKIntegrationDriver< T >::GetStepper ( )
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
G4double G4RKIntegrationDriver< T >::GrowStepSize ( G4double  h,
G4double  error 
) const
protected
template<class T >
G4double G4RKIntegrationDriver< T >::GrowStepSize2 ( G4double  h,
G4double  error2 
) const
protected
template<class T >
G4RKIntegrationDriver& G4RKIntegrationDriver< T >::operator= ( const G4RKIntegrationDriver< T > &  )
delete
template<class T >
virtual void G4RKIntegrationDriver< T >::RenewStepperAndAdjust ( G4MagIntegratorStepper stepper)
overridevirtual

Reimplemented from G4VIntegrationDriver.

template<class T >
void G4RKIntegrationDriver< T >::RenewStepperAndAdjustImpl ( T stepper)
inlineprivate
template<class T >
void G4RKIntegrationDriver< T >::ReSetParameters ( G4double  safety = 0.9)
template<class T >
virtual void G4RKIntegrationDriver< T >::SetEquationOfMotion ( G4EquationOfMotion equation)
overridevirtual

Implements G4VIntegrationDriver.

template<class T >
void G4RKIntegrationDriver< T >::SetMaxNoSteps ( G4int  val)
template<class T >
void G4RKIntegrationDriver< T >::SetSafety ( G4double  valS)
template<class T >
void G4RKIntegrationDriver< T >::SetSmallestFraction ( G4double  val)
template<class T >
G4double G4RKIntegrationDriver< T >::ShrinkStepSize ( G4double  h,
G4double  error 
) const
protected
template<class T >
G4double G4RKIntegrationDriver< T >::ShrinkStepSize2 ( G4double  h,
G4double  error2 
) const
protected
template<class T >
void G4RKIntegrationDriver< T >::UpdateErrorConstraints ( )
protected

Member Data Documentation

template<class T >
G4double G4RKIntegrationDriver< T >::errorConstraintGrow
private

Definition at line 120 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 120 of file G4RKIntegrationDriver.hh

template<class T >
G4double G4RKIntegrationDriver< T >::errorConstraintShrink
private

Definition at line 119 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 119 of file G4RKIntegrationDriver.hh

template<class T >
G4int G4RKIntegrationDriver< T >::fMaxNoSteps
private

Definition at line 105 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 105 of file G4RKIntegrationDriver.hh

template<class T >
G4int G4RKIntegrationDriver< T >::fMaxStepBase
private

Definition at line 107 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 107 of file G4RKIntegrationDriver.hh

template<class T >
G4double G4RKIntegrationDriver< T >::pgrow
private

Definition at line 115 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 115 of file G4RKIntegrationDriver.hh

template<class T >
T* G4RKIntegrationDriver< T >::pIntStepper = nullptr
private

Definition at line 122 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 122 of file G4RKIntegrationDriver.hh

template<class T >
G4double G4RKIntegrationDriver< T >::pshrnk
private

Definition at line 114 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 114 of file G4RKIntegrationDriver.hh

template<class T >
G4double G4RKIntegrationDriver< T >::safety
private

Definition at line 113 of file G4RKIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 113 of file G4RKIntegrationDriver.hh


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