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#include <G4MagneticField.hh>
15
16namespace 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.
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.