#include <G4ErrorMag_UsualEqRhs.hh>
Inheritance diagram for G4ErrorMag_UsualEqRhs:
Public Member Functions | |
G4ErrorMag_UsualEqRhs (G4MagneticField *MagField) | |
~G4ErrorMag_UsualEqRhs () | |
void | EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const |
Definition at line 49 of file G4ErrorMag_UsualEqRhs.hh.
G4ErrorMag_UsualEqRhs::G4ErrorMag_UsualEqRhs | ( | G4MagneticField * | MagField | ) |
Definition at line 39 of file G4ErrorMag_UsualEqRhs.cc.
00040 : G4Mag_UsualEqRhs( MagField ) 00041 { 00042 }
G4ErrorMag_UsualEqRhs::~G4ErrorMag_UsualEqRhs | ( | ) |
void G4ErrorMag_UsualEqRhs::EvaluateRhsGivenB | ( | const G4double | y[], | |
const G4double | B[3], | |||
G4double | dydx[] | |||
) | const [virtual] |
Reimplemented from G4Mag_UsualEqRhs.
Definition at line 50 of file G4ErrorMag_UsualEqRhs.cc.
References G4Mag_UsualEqRhs::EvaluateRhsGivenB(), G4Mag_EqRhs::FCof(), G4ErrorMode_PropBackwards, G4ErrorPropagatorData::GetErrorPropagatorData(), and sqr().
00053 { 00054 00055 G4Mag_UsualEqRhs::EvaluateRhsGivenB(y, B, dydx ); 00056 00057 if(G4ErrorPropagatorData::GetErrorPropagatorData()->GetMode() 00058 == G4ErrorMode_PropBackwards) 00059 { 00060 G4double momentum_mag_square = sqr(y[3]) + sqr(y[4]) + sqr(y[5]); 00061 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square ); 00062 00063 G4double cof = FCof()*inv_momentum_magnitude; 00064 00065 dydx[3] = cof*(y[4]*(-B[2]) - y[5]*(-B[1])) ; 00066 dydx[4] = cof*(y[5]*(-B[0]) - y[3]*(-B[2])) ; 00067 dydx[5] = cof*(y[3]*(-B[1]) - y[4]*(-B[0])) ; 00068 } 00069 return; 00070 }