#include <MonopoleEquation.h>
Definition at line 28 of file MonopoleEquation.h.
MonopoleEquation::MonopoleEquation |
( |
G4MagneticField * |
emField | ) |
|
MonopoleEquation::~MonopoleEquation |
( |
| ) |
|
|
override |
void MonopoleEquation::EvaluateRhsGivenB |
( |
const G4double |
y[], |
|
|
const G4double |
Field[], |
|
|
G4double |
dydx[] |
|
) |
| const |
|
override |
Definition at line 48 of file MonopoleEquation.cc.
References EcalCondDBWriter_cfi::Energy, fElCharge, fMagCharge, fMassCof, and mathSSE::sqrt().
53 G4double pSquared =
y[3] *
y[3] +
y[4] *
y[4] +
y[5] *
y[5];
57 G4double pModuleInverse = 1.0 /
std::sqrt(pSquared);
59 G4double inverse_velocity = Energy * pModuleInverse / CLHEP::c_light;
61 G4double cofEl =
fElCharge * pModuleInverse;
62 G4double cofMag =
fMagCharge * Energy * pModuleInverse;
64 dydx[0] = y[3] * pModuleInverse;
65 dydx[1] = y[4] * pModuleInverse;
66 dydx[2] = y[5] * pModuleInverse;
78 dydx[3] = cofMag * Field[0] + cofEl * (y[4] * Field[2] - y[5] * Field[1]);
79 dydx[4] = cofMag * Field[1] + cofEl * (y[5] * Field[0] - y[3] * Field[2]);
80 dydx[5] = cofMag * Field[2] + cofEl * (y[3] * Field[1] - y[4] * Field[0]);
96 dydx[7] = inverse_velocity;
void MonopoleEquation::SetChargeMomentumMass |
( |
G4ChargeState |
particleChargeState, |
|
|
G4double |
momentum, |
|
|
G4double |
mass |
|
) |
| |
|
override |
Definition at line 31 of file MonopoleEquation.cc.
References fElCharge, fMagCharge, and fMassCof.
32 G4double particleMagneticCharge = particleChargeState.MagneticCharge();
33 G4double particleElectricCharge = particleChargeState.GetCharge();
35 fElCharge = CLHEP::eplus * particleElectricCharge * CLHEP::c_light;
37 fMagCharge = CLHEP::eplus * particleMagneticCharge * CLHEP::c_light;
43 fMassCof = particleMass * particleMass;
G4double MonopoleEquation::fElCharge |
|
private |
G4double MonopoleEquation::fMagCharge |
|
private |
G4double MonopoleEquation::fMassCof |
|
private |