33 G4double particleMass)
35 G4double particleMagneticCharge = particleChargeState.MagneticCharge();
36 G4double particleElectricCharge = particleChargeState.GetCharge();
39 fElCharge = eplus * particleElectricCharge * c_light;
41 fMagCharge = eplus * particleMagneticCharge * c_light ;
43 fMassCof = particleMass * particleMass ;
48 const G4double Field[],
49 G4double dydx[])
const
55 G4double pSquared = y[3] * y[3] + y[4] * y[4] + y[5] * y[5] ;
57 G4double Energy = std::sqrt(pSquared +
fMassCof);
59 G4double pModuleInverse = 1.0 / std::sqrt(pSquared);
61 G4double inverse_velocity = Energy * pModuleInverse / c_light;
63 G4double cofEl =
fElCharge * pModuleInverse ;
64 G4double cofMag =
fMagCharge * Energy * pModuleInverse;
67 dydx[0] = y[3] * pModuleInverse ;
68 dydx[1] = y[4] * pModuleInverse ;
69 dydx[2] = y[5] * pModuleInverse ;
81 dydx[3] = cofMag * Field[0] + cofEl * (y[4] * Field[2] - y[5] * Field[1]);
82 dydx[4] = cofMag * Field[1] + cofEl * (y[5] * Field[0] - y[3] * Field[2]);
83 dydx[5] = cofMag * Field[2] + cofEl * (y[3] * Field[1] - y[4] * Field[0]);
99 dydx[7] = inverse_velocity;
virtual void EvaluateRhsGivenB(const G4double y[], const G4double Field[], G4double dydx[]) const
Given the value of the electromagnetic field, this function calculates the value of the derivative dy...