59 G4double nucleusMass = Z*proton_mass_c2+(A-Z)*neutron_mass_c2+bindingEnergy;
60 G4double reducedMass = mass*nucleusMass/(mass+nucleusMass);
62 G4double nucleonMass = (proton_mass_c2+neutron_mass_c2)/2;
65 theFactor = 2*
pi*hbarc*hbarc*(1+mass/nucleonMass)* opticalParameter/reducedMass * A;
74 G4double yMod = std::sqrt(y[0]*y[0]+y[1]*y[1]+y[2]*y[2]);
76 dydx[0] = c_light*y[3]/e;
77 dydx[1] = c_light*y[4]/e;
78 dydx[2] = c_light*y[5]/e;
88 dydx[3] = yMod == 0 ? 0 : -deriv*y[0]/yMod*c_light;
89 dydx[4] = yMod == 0 ? 0 : -deriv*y[1]/yMod*c_light;
90 dydx[5] = yMod == 0 ? 0 : -deriv*y[2]/yMod*c_light;
virtual G4int GetCharge()=0
CLHEP::Hep3Vector G4ThreeVector
virtual const G4VNuclearDensity * GetNuclearDensity() const =0
virtual G4int GetMassNumber()=0
virtual void EvaluateRhsGivenB(const G4double y[], const G4double B[3], G4double dydx[]) const
G4KM_OpticalEqRhs(G4KM_DummyField *field, G4V3DNucleus *nucleus)
double A(double temperature)
G4V3DNucleus * theNucleus
virtual G4double GetDeriv(const G4ThreeVector &point) const =0
virtual void SetChargeMomentumMass(G4ChargeState particleCharge, G4double MomentumXc, G4double MassXc2)
static G4double GetBindingEnergy(const G4int A, const G4int Z)
void SetFactor(G4double mass, G4double opticalParameter)
G4double bindingEnergy(G4int A, G4int Z)
static const G4double pos