#include <SimG4Core/MagneticField/interface/FieldStepper.h>
Public Member Functions | |
virtual double | DistChord () const |
FieldStepper (G4Mag_UsualEqRhs *eq) | |
virtual int | IntegratorOrder () const |
G4MagIntegratorStepper * | select (const std::string &s) |
virtual void | Stepper (const double y[], const double dydx[], double h, double yout[], double yerr[]) |
~FieldStepper () | |
Private Attributes | |
G4Mag_UsualEqRhs * | theEquation |
G4MagIntegratorStepper * | theStepper |
Definition at line 9 of file FieldStepper.h.
FieldStepper::FieldStepper | ( | G4Mag_UsualEqRhs * | eq | ) |
Definition at line 18 of file FieldStepper.cc.
00018 : 00019 G4MagIntegratorStepper(eq, 6), theEquation(eq) {}
FieldStepper::~FieldStepper | ( | ) |
double FieldStepper::DistChord | ( | ) | const [virtual] |
Definition at line 27 of file FieldStepper.cc.
References theStepper.
00027 { return theStepper->DistChord(); }
int FieldStepper::IntegratorOrder | ( | ) | const [virtual] |
Definition at line 29 of file FieldStepper.cc.
References theStepper.
00030 { return theStepper->IntegratorOrder(); }
G4MagIntegratorStepper * FieldStepper::select | ( | const std::string & | s | ) |
Definition at line 32 of file FieldStepper.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), theEquation, and theStepper.
Referenced by sim::FieldBuilder::configureFieldManager().
00033 { 00034 if (s == "G4ClassicalRK4") theStepper = new G4ClassicalRK4(theEquation); 00035 else if (s == "G4SimpleRunge") theStepper = new G4SimpleRunge(theEquation); 00036 else if (s == "G4SimpleHeum") theStepper = new G4SimpleHeum(theEquation); 00037 else if (s == "G4CashKarpRKF45") theStepper = new G4CashKarpRKF45(theEquation); 00038 else if (s == "G4RKG3_Stepper") theStepper = new G4RKG3_Stepper(theEquation); 00039 else if (s == "G4ExplicitEuler") theStepper = new G4ExplicitEuler(theEquation); 00040 else if (s == "G4ImplicitEuler") theStepper = new G4ImplicitEuler(theEquation); 00041 else if (s == "G4HelixExplicitEuler") theStepper = new G4HelixExplicitEuler(theEquation); 00042 else if (s == "G4HelixImplicitEuler") theStepper = new G4HelixImplicitEuler(theEquation); 00043 else if (s == "G4HelixSimpleRunge") theStepper = new G4HelixSimpleRunge(theEquation); 00044 else if (s == "G4HelixHeum") theStepper = new G4HelixHeum(theEquation); 00045 else 00046 { 00047 std::cout << " FieldStepper invalid choice, defaulting to G4ClassicalRK4 " << std::endl; 00048 theStepper = new G4ClassicalRK4(theEquation); 00049 } 00050 return theStepper; 00051 }
void FieldStepper::Stepper | ( | const double | y[], | |
const double | dydx[], | |||
double | h, | |||
double | yout[], | |||
double | yerr[] | |||
) | [virtual] |
Definition at line 23 of file FieldStepper.cc.
References theStepper.
00025 { theStepper->Stepper(y,dydx,h,yout,yerr); }
G4Mag_UsualEqRhs* sim::FieldStepper::theEquation [private] |
G4MagIntegratorStepper* sim::FieldStepper::theStepper [private] |
Definition at line 20 of file FieldStepper.h.
Referenced by DistChord(), IntegratorOrder(), select(), and Stepper().