#ifndef LEMuSRELMAG_SPIN_EQRHS #define LEMuSRELMAG_SPIN_EQRHS #include "G4Types.hh" #include "G4Mag_EqRhs.hh" class G4MagneticField; class LEMuSRElMag_SpinEqRhs : public G4Mag_EqRhs { public: // with description LEMuSRElMag_SpinEqRhs( G4MagneticField* MagField ); ~LEMuSRElMag_SpinEqRhs(); // Constructor and destructor. No actions. void SetChargeMomentumMass(G4double particleCharge, // in e+ units G4double MomentumXc, G4double mass); void EvaluateRhsGivenB( const G4double y[], const G4double B[3], G4double dydx[] ) const; // Given the value of the magnetic field B, this function // calculates the value of the derivative dydx. private: G4double omegac; G4double anomaly; G4double ParticleCharge; G4double E; G4double gamma, m_mass; G4double beta; G4double cst; }; #endif /* LEMuSRELMAG_SPIN_EQRHS */