Belle II Software  release-08-01-10
G4MonopoleEquation.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 // modified from GEANT4 exoticphysics/monopole/*
10 
11 #pragma once
12 
13 #include <G4EquationOfMotion.hh>
14 #include <G4MagneticField.hh>
15 
16 namespace Belle2 {
22  namespace Monopoles {
23 
30  class G4MonopoleEquation : public G4EquationOfMotion {
31  public:
32 
38  explicit G4MonopoleEquation(G4MagneticField* mField);
39 
44 
55  virtual void SetChargeMomentumMass(G4ChargeState particleChargeState,
56  G4double momentum,
57  G4double mass);
58 
67  virtual void EvaluateRhsGivenB(const G4double y[],
68  const G4double Field[],
69  G4double dydx[]) const;
70 
71  private:
72 
73  G4double fMagCharge;
74  G4double fElCharge;
75  G4double fMassCof;
76  };
77 
78  } //end Monopoles namespace
79 
81 } //end Belle2 namespace
Monopole equation of motion class.
G4double fElCharge
Electric charge in case of a dyon.
G4double fMagCharge
Magnetic charge of the monopole, in e+ units.
G4MonopoleEquation(G4MagneticField *mField)
Constructor.
G4double fMassCof
Square of the monopole mass.
virtual void SetChargeMomentumMass(G4ChargeState particleChargeState, G4double momentum, G4double mass)
G4EquationOfMotion::SetChargeMomentumMass() implementation.
virtual void EvaluateRhsGivenB(const G4double y[], const G4double Field[], G4double dydx[]) const
Given the value of the electromagnetic field, this function calculates the value of the derivative dy...
Abstract base class for different kinds of events.