Belle II Software development
G4Monopole.cc
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#include <simulation/monopoles/G4Monopole.h>
12
13#include <CLHEP/Units/SystemOfUnits.h>
14#include <framework/logging/Logger.h>
15
16using namespace std;
17using namespace Belle2;
18using namespace Belle2::Monopoles;
19using namespace CLHEP;
20
21G4Monopole::G4Monopole(const G4String& name,
22 G4double mass,
23 G4double mCharge,
24 G4double eCharge,
25 G4int encoding)
26 : G4ParticleDefinition(name, mass, 0.0 * MeV, eplus * eCharge,
27 1, 0, 0,
28 0, 0, 0,
29 "fermion", 0, 0, encoding,
30 true, -1.0, 0),
31 // Arguments for constructor are as follows
32 // name mass width charge
33 // 2*spin parity C-conjugation
34 // 2*Isospin 2*Isospin3 G-parity
35 // type lepton_number baryon_number PDG_encoding
36 // stable lifetime decay_table
37 magCharge(eplus * mCharge)
38{
39 B2INFO("Monopole is created: m(GeV)= " << mass / GeV
40 << " Qel(e+)= " << eCharge / eplus
41 << " Qmag(e+)= " << magCharge / eplus);
42}
43
45{}
46
48{
49 return magCharge;
50}
51
virtual ~G4Monopole()
Destructor.
Definition: G4Monopole.cc:44
G4double MagneticCharge() const
Returns magnetic charge of the monopole.
Definition: G4Monopole.cc:47
G4double magCharge
Magnetic charge of the monopole, in e+ units.
Definition: G4Monopole.h:66
G4Monopole(const G4String &name, G4double mass, G4double mCharge, G4double eCharge, G4int encoding)
Constructor.
Definition: G4Monopole.cc:21
Abstract base class for different kinds of events.
STL namespace.