51 fElectroMagCof = eplus*pcharge;
52 fElectroMagCof /= 2*fine_structure_const;
54 fMassCof = particleMass*particleMass ;
67 G4double pSquared = y[3]*y[3] + y[4]*y[4] + y[5]*y[5] ;
69 G4double Energy = std::sqrt( pSquared + fMassCof );
72 G4double pModuleInverse = 1.0/std::sqrt(pSquared) ;
74 G4double inverse_velocity = Energy * pModuleInverse / c_light;
76 G4double cof1 = fElectroMagCof*pModuleInverse ;
78 dydx[0] = y[3]*pModuleInverse ;
79 dydx[1] = y[4]*pModuleInverse ;
80 dydx[2] = y[5]*pModuleInverse ;
82 dydx[3] = cof1*(cof2*Field[0] - (y[4]*Field[5] - y[5]*Field[4])) ;
84 dydx[4] = cof1*(cof2*Field[1] - (y[5]*Field[3] - y[3]*Field[5])) ;
86 dydx[5] = cof1*(cof2*Field[2] - (y[3]*Field[4] - y[4]*Field[3])) ;
92 dydx[7] = inverse_velocity;
G4double GetCharge() const
G4MonopoleEq(G4ElectroMagneticField *emField)
void SetChargeMomentumMass(G4ChargeState particleCharge, G4double MomentumXc, G4double mass)
void EvaluateRhsGivenB(const G4double y[], const G4double Field[], G4double dydx[]) const