Belle II Software  release-08-01-10
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 
16 using namespace std;
17 using namespace Belle2;
18 using namespace Belle2::Monopoles;
19 using namespace CLHEP;
20 
21 G4Monopole::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
Abstract base class for different kinds of events.