Belle II Software development
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
15class G4MagneticField;
16
17namespace Belle2 {
22
23 namespace Monopoles {
24
31 class G4MonopoleEquation : public G4EquationOfMotion {
32 public:
33
39 explicit G4MonopoleEquation(G4MagneticField* mField);
40
45
56 virtual void SetChargeMomentumMass(G4ChargeState particleChargeState,
57 G4double momentum,
58 G4double mass);
59
68 virtual void EvaluateRhsGivenB(const G4double y[],
69 const G4double Field[],
70 G4double dydx[]) const;
71
72 private:
73
74 G4double fMagCharge;
75 G4double fElCharge;
76 G4double fMassCof;
77 };
78
79 } //end Monopoles namespace
80
82} //end Belle2 namespace
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.