Geant4  10.03
G4DormandPrinceRK56 Class Reference

#include <G4DormandPrinceRK56.hh>

+ Inheritance diagram for G4DormandPrinceRK56:
+ Collaboration diagram for G4DormandPrinceRK56:

Public Member Functions

 G4DormandPrinceRK56 (G4EquationOfMotion *EqRhs, G4int numberOfVariables=6, G4bool primary=true)
 
 ~G4DormandPrinceRK56 ()
 
void Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])
 
G4double DistChord () const
 
G4int IntegratorOrder () const
 
 G4DormandPrinceRK56 (const G4DormandPrinceRK56 &)
 
G4DormandPrinceRK56operator= (const G4DormandPrinceRK56 &)
 
void SetupInterpolate_low (const G4double yInput[], const G4double dydx[], const G4double Step)
 
void Interpolate_low (const G4double yInput[], const G4double dydx[], const G4double Step, G4double yOut[], G4double tau)
 
void SetupInterpolation ()
 
void SetupInterpolate (const G4double yInput[], const G4double dydx[], const G4double Step)
 
void Interpolate (const G4double yInput[], const G4double dydx[], const G4double Step, G4double yOut[], G4double tau)
 
void Interpolate (G4double tau, G4double yOut[])
 
void SetupInterpolate_high (const G4double yInput[], const G4double dydx[], const G4double Step)
 
void Interpolate_high (const G4double yInput[], const G4double dydx[], const G4double Step, G4double yOut[], G4double tau)
 
- Public Member Functions inherited from G4MagIntegratorStepper
 G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12, bool isFSAL=false)
 
virtual ~G4MagIntegratorStepper ()
 
virtual void ComputeRightHandSide (const G4double y[], G4double dydx[])
 
void NormaliseTangentVector (G4double vec[6])
 
void NormalisePolarizationVector (G4double vec[12])
 
void RightHandSide (const double y[], double dydx[])
 
G4int GetNumberOfVariables () const
 
G4int GetNumberOfStateVariables () const
 
G4int IntegrationOrder ()
 
G4EquationOfMotionGetEquationOfMotion ()
 
void SetEquationOfMotion (G4EquationOfMotion *newEquation)
 
unsigned long GetfNoRHSCalls ()
 
void ResetfNORHSCalls ()
 
bool IsFSAL ()
 

Private Attributes

G4doubleak2
 
G4doubleak3
 
G4doubleak4
 
G4doubleak5
 
G4doubleak6
 
G4doubleak7
 
G4doubleak8
 
G4doubleak9
 
G4doubleak10_low
 
G4doubleak10
 
G4doubleak11
 
G4doubleak12
 
G4doubleyTemp
 
G4doubleyIn
 
G4double fLastStepLength
 
G4doublefLastInitialVector
 
G4doublefLastFinalVector
 
G4doublefLastDyDx
 
G4doublefMidVector
 
G4doublefMidError
 
G4DormandPrinceRK56fAuxStepper
 

Additional Inherited Members

- Protected Member Functions inherited from G4MagIntegratorStepper
void SetIntegrationOrder (int order)
 
void SetFSAL (bool flag=true)
 

Detailed Description

Definition at line 51 of file G4DormandPrinceRK56.hh.

Constructor & Destructor Documentation

G4DormandPrinceRK56::G4DormandPrinceRK56 ( G4EquationOfMotion EqRhs,
G4int  numberOfVariables = 6,
G4bool  primary = true 
)

Definition at line 47 of file G4DormandPrinceRK56.cc.

References ak2, ak3, ak4, ak5, ak6, ak7, ak8, ak9, fAuxStepper, fLastDyDx, fLastFinalVector, fLastInitialVector, fMidError, fMidVector, G4INCL::Math::max(), yIn, and yTemp.

+ Here is the call graph for this function:

G4DormandPrinceRK56::~G4DormandPrinceRK56 ( )
G4DormandPrinceRK56::G4DormandPrinceRK56 ( const G4DormandPrinceRK56 )

Member Function Documentation

G4double G4DormandPrinceRK56::DistChord ( ) const
virtual

Implements G4MagIntegratorStepper.

Definition at line 372 of file G4DormandPrinceRK56.cc.

References G4LineSection::Distline(), fAuxStepper, fLastDyDx, fLastFinalVector, fLastInitialVector, fLastStepLength, fMidError, fMidVector, and Stepper().

+ Here is the call graph for this function:

G4int G4DormandPrinceRK56::IntegratorOrder ( ) const
inlinevirtual

Implements G4MagIntegratorStepper.

Definition at line 71 of file G4DormandPrinceRK56.hh.

void G4DormandPrinceRK56::Interpolate ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step,
G4double  yOut[],
G4double  tau 
)
inline

Definition at line 98 of file G4DormandPrinceRK56.hh.

References Interpolate_low().

Referenced by Interpolate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DormandPrinceRK56::Interpolate ( G4double  tau,
G4double  yOut[] 
)
inline

Definition at line 106 of file G4DormandPrinceRK56.hh.

References fLastDyDx, fLastInitialVector, fLastStepLength, and Interpolate().

+ Here is the call graph for this function:

void G4DormandPrinceRK56::Interpolate_high ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step,
G4double  yOut[],
G4double  tau 
)

Definition at line 604 of file G4DormandPrinceRK56.cc.

References ak10, ak11, ak12, ak2, ak3, ak4, ak5, ak6, ak7, ak8, ak9, G4MagIntegratorStepper::GetNumberOfVariables(), and yIn.

+ Here is the call graph for this function:

void G4DormandPrinceRK56::Interpolate_low ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step,
G4double  yOut[],
G4double  tau 
)

Definition at line 451 of file G4DormandPrinceRK56.cc.

References ak10_low, ak4, ak5, ak6, ak7, ak8, ak9, G4MagIntegratorStepper::GetNumberOfVariables(), and yIn.

Referenced by Interpolate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DormandPrinceRK56& G4DormandPrinceRK56::operator= ( const G4DormandPrinceRK56 )
void G4DormandPrinceRK56::SetupInterpolate ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step 
)
inline

Definition at line 91 of file G4DormandPrinceRK56.hh.

References SetupInterpolate_low().

Referenced by SetupInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DormandPrinceRK56::SetupInterpolate_high ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step 
)

Definition at line 510 of file G4DormandPrinceRK56.cc.

References ak10, ak11, ak12, ak2, ak3, ak4, ak5, ak6, ak7, ak8, ak9, G4MagIntegratorStepper::GetNumberOfVariables(), G4MagIntegratorStepper::RightHandSide(), yIn, and yTemp.

+ Here is the call graph for this function:

void G4DormandPrinceRK56::SetupInterpolate_low ( const G4double  yInput[],
const G4double  dydx[],
const G4double  Step 
)

Definition at line 417 of file G4DormandPrinceRK56.cc.

References ak10_low, ak2, ak3, ak4, ak5, ak6, ak7, ak8, ak9, G4MagIntegratorStepper::GetNumberOfVariables(), G4MagIntegratorStepper::RightHandSide(), yIn, and yTemp.

Referenced by SetupInterpolate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4DormandPrinceRK56::SetupInterpolation ( )
inline

Definition at line 88 of file G4DormandPrinceRK56.hh.

References fLastDyDx, fLastInitialVector, fLastStepLength, and SetupInterpolate().

+ Here is the call graph for this function:

void G4DormandPrinceRK56::Stepper ( const G4double  y[],
const G4double  dydx[],
G4double  h,
G4double  yout[],
G4double  yerr[] 
)
virtual

Implements G4MagIntegratorStepper.

Definition at line 119 of file G4DormandPrinceRK56.cc.

References ak2, ak3, ak4, ak5, ak6, ak7, ak8, ak9, c2, fLastDyDx, fLastFinalVector, fLastInitialVector, fLastStepLength, G4MagIntegratorStepper::GetNumberOfVariables(), G4MagIntegratorStepper::RightHandSide(), yIn, and yTemp.

Referenced by DistChord().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double * G4DormandPrinceRK56::ak10
private

Definition at line 122 of file G4DormandPrinceRK56.hh.

Referenced by Interpolate_high(), and SetupInterpolate_high().

G4double* G4DormandPrinceRK56::ak10_low
private

Definition at line 122 of file G4DormandPrinceRK56.hh.

Referenced by Interpolate_low(), and SetupInterpolate_low().

G4double * G4DormandPrinceRK56::ak11
private

Definition at line 122 of file G4DormandPrinceRK56.hh.

Referenced by Interpolate_high(), and SetupInterpolate_high().

G4double * G4DormandPrinceRK56::ak12
private

Definition at line 122 of file G4DormandPrinceRK56.hh.

Referenced by Interpolate_high(), and SetupInterpolate_high().

G4DormandPrinceRK56* G4DormandPrinceRK56::fAuxStepper
private

Definition at line 130 of file G4DormandPrinceRK56.hh.

Referenced by DistChord(), G4DormandPrinceRK56(), and ~G4DormandPrinceRK56().

G4double * G4DormandPrinceRK56::fLastDyDx
private
G4double * G4DormandPrinceRK56::fLastFinalVector
private
G4double* G4DormandPrinceRK56::fLastInitialVector
private
G4double G4DormandPrinceRK56::fLastStepLength
private

Definition at line 125 of file G4DormandPrinceRK56.hh.

Referenced by DistChord(), Interpolate(), SetupInterpolation(), and Stepper().

G4double * G4DormandPrinceRK56::fMidError
private

Definition at line 126 of file G4DormandPrinceRK56.hh.

Referenced by DistChord(), G4DormandPrinceRK56(), and ~G4DormandPrinceRK56().

G4double * G4DormandPrinceRK56::fMidVector
private

Definition at line 126 of file G4DormandPrinceRK56.hh.

Referenced by DistChord(), G4DormandPrinceRK56(), and ~G4DormandPrinceRK56().

G4double* G4DormandPrinceRK56::yTemp
private

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