CMS 3D CMS Logo

MonopoleEquation.h
Go to the documentation of this file.
1 //
2 // =======================================================================
3 //
4 // class G4MonopoleEquation
5 //
6 // Created: 30 April 2010, S. Burdin, B. Bozsogi
7 // G4MonopoleEquation class for
8 // Geant4 extended example "monopole"
9 //
10 // Adopted for CMSSW by V.Ivanchenko 30 April 2018
11 // from Geant4 global tag geant4-10-04-ref-03
12 //
13 // =======================================================================
14 //
15 // Class description:
16 //
17 // This is the right-hand side of equation of motion in a
18 // magnetic field only for magnetic monopoles.
19 //
20 // -------------------------------------------------------------------
21 
22 #ifndef SimG4Core_MagneticField_MonopoleEquation_h
23 #define SimG4Core_MagneticField_MonopoleEquation_h 1
24 
25 #include "G4EquationOfMotion.hh"
26 #include "G4MagneticField.hh"
27 
28 class MonopoleEquation : public G4EquationOfMotion
29 {
30 public: // with description
31 
32  MonopoleEquation(G4MagneticField *emField );
33 
34  ~MonopoleEquation() override;
35 
36  void SetChargeMomentumMass( G4ChargeState particleChargeState,
37  G4double momentum,
38  G4double mass) override;
39  // magnetic charge in e+ units
40 
41  void EvaluateRhsGivenB(const G4double y[],
42  const G4double Field[],
43  G4double dydx[] ) const override;
44  // Given the value of the electromagnetic field, this function
45  // calculates the value of the derivative dydx.
46 
47 private:
48 
49  G4double fMagCharge ;
50  G4double fElCharge;
51  G4double fMassCof;
52 };
53 
54 #endif
~MonopoleEquation() override
MonopoleEquation(G4MagneticField *emField)
void EvaluateRhsGivenB(const G4double y[], const G4double Field[], G4double dydx[]) const override
void SetChargeMomentumMass(G4ChargeState particleChargeState, G4double momentum, G4double mass) override