#include <G4SimpleRunge.hh>
|
| G4SimpleRunge (G4EquationOfMotion *EquationRhs, G4int numberOfVariables=6) |
|
| ~G4SimpleRunge () |
|
void | DumbStepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[]) |
|
G4int | IntegratorOrder () const |
|
| G4MagErrorStepper (G4EquationOfMotion *EqRhs, G4int numberOfVariables, G4int numStateVariables=12) |
|
virtual | ~G4MagErrorStepper () |
|
void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[]) |
|
virtual void | DumbStepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[])=0 |
|
G4double | DistChord () const |
|
| G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12) |
|
virtual | ~G4MagIntegratorStepper () |
|
virtual void | Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])=0 |
|
virtual G4double | DistChord () const =0 |
|
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 |
|
virtual G4int | IntegratorOrder () const =0 |
|
G4EquationOfMotion * | GetEquationOfMotion () |
|
void | SetEquationOfMotion (G4EquationOfMotion *newEquation) |
|
Definition at line 51 of file G4SimpleRunge.hh.
◆ G4SimpleRunge()
Definition at line 48 of file G4SimpleRunge.cc.
50 fNumberOfVariables(numberOfVariables)
51{
52
53 unsigned int noVariables= std::max(numberOfVariables,
55
56 dydxTemp =
new G4double[noVariables] ;
58}
G4int GetNumberOfStateVariables() const
◆ ~G4SimpleRunge()
G4SimpleRunge::~G4SimpleRunge |
( |
| ) |
|
Definition at line 65 of file G4SimpleRunge.cc.
66{
67 delete[] dydxTemp;
68 delete[] yTemp;
69}
◆ DumbStepper()
Implements G4MagErrorStepper.
Definition at line 76 of file G4SimpleRunge.cc.
80{
81
82 yTemp[7] = yOut[7] = yIn[7];
83
85
86 for( i = 0; i < fNumberOfVariables; i++ )
87 {
88 yTemp[i] = yIn[i] + 0.5 * h*dydx[i] ;
89 }
90
92
93 for( i = 0; i < fNumberOfVariables; i++ )
94 {
95 yOut[i] = yIn[i] + h * ( dydxTemp[i] );
96 }
97}
void RightHandSide(const double y[], double dydx[])
◆ IntegratorOrder()
G4int G4SimpleRunge::IntegratorOrder |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following files: