Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ErrorMag_UsualEqRhs Class Reference

G4ErrorMag_UsualEqRhs serves to reverse the magnetic field when propagation is backwards. It is used for error propagation. More...

#include <G4ErrorMag_UsualEqRhs.hh>

Inheritance diagram for G4ErrorMag_UsualEqRhs:

Public Member Functions

 G4ErrorMag_UsualEqRhs (G4MagneticField *MagField)
 ~G4ErrorMag_UsualEqRhs () override=default
void EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const override
Public Member Functions inherited from G4Mag_UsualEqRhs
 G4Mag_UsualEqRhs (G4MagneticField *MagField)
 ~G4Mag_UsualEqRhs () override=default
void EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const override
void SetChargeMomentumMass (G4ChargeState particleCharge, G4double MomentumXc, G4double mass) override
G4EquationType GetEquationType () const override
Public Member Functions inherited from G4Mag_EqRhs
 G4Mag_EqRhs (G4MagneticField *magField)
 ~G4Mag_EqRhs () override=default
G4double FCof () const
Public Member Functions inherited from G4EquationOfMotion
 G4EquationOfMotion (G4Field *Field)
virtual ~G4EquationOfMotion ()=default
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 G4FieldGetFieldObj () const
G4FieldGetFieldObj ()
void SetFieldObj (G4Field *pField)

Detailed Description

G4ErrorMag_UsualEqRhs serves to reverse the magnetic field when propagation is backwards. It is used for error propagation.

Definition at line 46 of file G4ErrorMag_UsualEqRhs.hh.

Constructor & Destructor Documentation

◆ G4ErrorMag_UsualEqRhs()

G4ErrorMag_UsualEqRhs::G4ErrorMag_UsualEqRhs ( G4MagneticField * MagField)

Constructor for G4ErrorMag_UsualEqRhs.

Parameters
[in]MagFieldPointer to the magnetic field.

Definition at line 36 of file G4ErrorMag_UsualEqRhs.cc.

37 : G4Mag_UsualEqRhs( MagField )
38{
39}
G4Mag_UsualEqRhs(G4MagneticField *MagField)

◆ ~G4ErrorMag_UsualEqRhs()

G4ErrorMag_UsualEqRhs::~G4ErrorMag_UsualEqRhs ( )
overridedefault

Default Destructor.

Member Function Documentation

◆ EvaluateRhsGivenB()

void G4ErrorMag_UsualEqRhs::EvaluateRhsGivenB ( const G4double y[],
const G4double B[3],
G4double dydx[] ) const
overridevirtual

Calculates the value of the derivative, given the value of the magnetic field. Reverses dedx if propagation is backwards.

Parameters
[in]yCoefficients array.
[in]BField value.
[out]dydxDerivatives array.

Implements G4Mag_EqRhs.

Definition at line 44 of file G4ErrorMag_UsualEqRhs.cc.

47{
48
50
53 {
54 G4double momentum_mag_square = sqr(y[3]) + sqr(y[4]) + sqr(y[5]);
55 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
56
57 G4double cof = FCof()*inv_momentum_magnitude;
58
59 dydx[3] = cof*(y[4]*(-B[2]) - y[5]*(-B[1])) ;
60 dydx[4] = cof*(y[5]*(-B[0]) - y[3]*(-B[2])) ;
61 dydx[5] = cof*(y[3]*(-B[1]) - y[4]*(-B[0])) ;
62 }
63 return;
64}
G4double B(G4double temperature)
@ G4ErrorMode_PropBackwards
double G4double
Definition G4Types.hh:83
static G4ErrorPropagatorData * GetErrorPropagatorData()
G4double FCof() const
void EvaluateRhsGivenB(const G4double y[], const G4double B[3], G4double dydx[]) const override
T sqr(const T &x)
Definition templates.hh:128

The documentation for this class was generated from the following files: