#include <G4Mag_UsualEqRhs.hh>
Inheritance diagram for G4Mag_UsualEqRhs:
Public Member Functions | |
G4Mag_UsualEqRhs (G4MagneticField *MagField) | |
virtual | ~G4Mag_UsualEqRhs () |
void | EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const |
virtual void | SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double mass) |
Definition at line 50 of file G4Mag_UsualEqRhs.hh.
G4Mag_UsualEqRhs::G4Mag_UsualEqRhs | ( | G4MagneticField * | MagField | ) |
G4Mag_UsualEqRhs::~G4Mag_UsualEqRhs | ( | ) | [virtual] |
void G4Mag_UsualEqRhs::EvaluateRhsGivenB | ( | const G4double | y[], | |
const G4double | B[3], | |||
G4double | dydx[] | |||
) | const [virtual] |
Implements G4Mag_EqRhs.
Reimplemented in G4ErrorMag_UsualEqRhs.
Definition at line 48 of file G4Mag_UsualEqRhs.cc.
References G4Mag_EqRhs::FCof().
Referenced by G4ErrorMag_UsualEqRhs::EvaluateRhsGivenB().
00051 { 00052 G4double momentum_mag_square = y[3]*y[3] + y[4]*y[4] + y[5]*y[5]; 00053 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square ); 00054 00055 G4double cof = FCof()*inv_momentum_magnitude; 00056 00057 dydx[0] = y[3]*inv_momentum_magnitude; // (d/ds)x = Vx/V 00058 dydx[1] = y[4]*inv_momentum_magnitude; // (d/ds)y = Vy/V 00059 dydx[2] = y[5]*inv_momentum_magnitude; // (d/ds)z = Vz/V 00060 00061 dydx[3] = cof*(y[4]*B[2] - y[5]*B[1]) ; // Ax = a*(Vy*Bz - Vz*By) 00062 dydx[4] = cof*(y[5]*B[0] - y[3]*B[2]) ; // Ay = a*(Vz*Bx - Vx*Bz) 00063 dydx[5] = cof*(y[3]*B[1] - y[4]*B[0]) ; // Az = a*(Vx*By - Vy*Bx) 00064 00065 return ; 00066 }
void G4Mag_UsualEqRhs::SetChargeMomentumMass | ( | G4double | particleCharge, | |
G4double | MomentumXc, | |||
G4double | mass | |||
) | [virtual] |
Reimplemented from G4Mag_EqRhs.
Definition at line 70 of file G4Mag_UsualEqRhs.cc.
References G4Mag_EqRhs::SetChargeMomentumMass().
00074 { 00075 G4Mag_EqRhs::SetChargeMomentumMass( particleCharge, MomentumXc, mass); 00076 }