#include <G4HelixExplicitEuler.hh>
Inheritance diagram for G4HelixExplicitEuler:
Public Member Functions | |
G4HelixExplicitEuler (G4Mag_EqRhs *EqRhs) | |
~G4HelixExplicitEuler () | |
void | Stepper (const G4double y[], const G4double *, G4double h, G4double yout[], G4double yerr[]) |
void | DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]) |
G4double | DistChord () const |
G4int | IntegratorOrder () const |
Definition at line 48 of file G4HelixExplicitEuler.hh.
G4HelixExplicitEuler::G4HelixExplicitEuler | ( | G4Mag_EqRhs * | EqRhs | ) | [inline] |
G4HelixExplicitEuler::~G4HelixExplicitEuler | ( | ) | [inline] |
G4double G4HelixExplicitEuler::DistChord | ( | ) | const [virtual] |
Reimplemented from G4MagHelicalStepper.
Definition at line 78 of file G4HelixExplicitEuler.cc.
References G4MagHelicalStepper::GetAngCurve(), G4MagHelicalStepper::GetRadHelix(), and G4INCL::Math::pi.
00079 { 00080 // Implementation : must check whether h/R > 2 pi !! 00081 // If( h/R < pi) use G4LineSection::DistLine 00082 // Else DistChord=R_helix 00083 // 00084 G4double distChord; 00085 G4double Ang_curve=GetAngCurve(); 00086 00087 00088 if(Ang_curve<=pi){ 00089 distChord=GetRadHelix()*(1-std::cos(0.5*Ang_curve)); 00090 } 00091 else 00092 if(Ang_curve<twopi){ 00093 distChord=GetRadHelix()*(1+std::cos(0.5*(twopi-Ang_curve))); 00094 } 00095 else{ 00096 distChord=2.*GetRadHelix(); 00097 } 00098 00099 return distChord; 00100 00101 }
void G4HelixExplicitEuler::DumbStepper | ( | const G4double | y[], | |
G4ThreeVector | Bfld, | |||
G4double | h, | |||
G4double | yout[] | |||
) | [virtual] |
Implements G4MagHelicalStepper.
Definition at line 103 of file G4HelixExplicitEuler.cc.
References G4MagHelicalStepper::AdvanceHelix().
00107 { 00108 00109 AdvanceHelix(yIn, Bfld, h, yOut); 00110 00111 }
G4int G4HelixExplicitEuler::IntegratorOrder | ( | ) | const [inline, virtual] |
void G4HelixExplicitEuler::Stepper | ( | const G4double | y[], | |
const G4double * | , | |||
G4double | h, | |||
G4double | yout[], | |||
G4double | yerr[] | |||
) |