#include <G4KM_OpticalEqRhs.hh>
|
| G4KM_OpticalEqRhs (G4KM_DummyField *field, G4V3DNucleus *nucleus) |
|
| ~G4KM_OpticalEqRhs () |
|
virtual void | EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const |
|
virtual void | SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double MassXc2) |
|
void | SetFactor (G4double mass, G4double opticalParameter) |
|
| G4Mag_EqRhs (G4MagneticField *magField) |
|
virtual | ~G4Mag_EqRhs () |
|
virtual void | EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const =0 |
|
G4double | FCof () const |
|
virtual void | SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double mass) |
|
| G4EquationOfMotion (G4Field *Field) |
|
virtual | ~G4EquationOfMotion () |
|
virtual void | EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const =0 |
|
virtual void | SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double MassXc2)=0 |
|
void | RightHandSide (const G4double y[], G4double dydx[]) const |
|
void | EvaluateRhsReturnB (const G4double y[], G4double dydx[], G4double Field[]) const |
|
void | GetFieldValue (const G4double Point[4], G4double Field[]) const |
|
const G4Field * | GetFieldObj () const |
|
void | SetFieldObj (G4Field *pField) |
|
Definition at line 49 of file G4KM_OpticalEqRhs.hh.
◆ G4KM_OpticalEqRhs()
◆ ~G4KM_OpticalEqRhs()
G4KM_OpticalEqRhs::~G4KM_OpticalEqRhs |
( |
| ) |
|
|
inline |
◆ EvaluateRhsGivenB()
Implements G4Mag_EqRhs.
Definition at line 71 of file G4KM_OpticalEqRhs.cc.
73{
74 G4double yMod = std::sqrt(y[0]*y[0]+y[1]*y[1]+y[2]*y[2]);
75 G4double e = std::sqrt(theMass*theMass+y[3]*y[3]+y[4]*y[4]+y[5]*y[5]);
76 dydx[0] = c_light*y[3]/e;
77 dydx[1] = c_light*y[4]/e;
78 dydx[2] = c_light*y[5]/e;
79
80
81
82
84
87
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;
91}
virtual const G4VNuclearDensity * GetNuclearDensity() const =0
virtual G4double GetDeriv(const G4ThreeVector &point) const =0
◆ SetChargeMomentumMass()
◆ SetFactor()
Definition at line 54 of file G4KM_OpticalEqRhs.cc.
55{
59 G4double nucleusMass = Z*proton_mass_c2+(A-Z)*neutron_mass_c2+bindingEnergy;
60 G4double reducedMass = mass*nucleusMass/(mass+nucleusMass);
61
62 G4double nucleonMass = (proton_mass_c2+neutron_mass_c2)/2;
63
64
65 theFactor = 2*
pi*hbarc*hbarc*(1+mass/nucleonMass)* opticalParameter/reducedMass * A;
66
67 theMass = mass;
68}
static G4double GetBindingEnergy(const G4int A, const G4int Z)
virtual G4int GetCharge()=0
virtual G4int GetMassNumber()=0
G4double bindingEnergy(G4int A, G4int Z)
Referenced by G4RKPropagation::Init().
The documentation for this class was generated from the following files: