Belle II Software  release-05-01-25
G4Monopole.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Dmitrii Neverov *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 // modified from GEANT4 exoticphysics/monopole/*
12 
13 #include <simulation/monopoles/G4Monopole.h>
14 
15 #include <CLHEP/Units/SystemOfUnits.h>
16 #include <framework/logging/Logger.h>
17 
18 using namespace std;
19 using namespace Belle2;
20 using namespace Belle2::Monopoles;
21 using namespace CLHEP;
22 
23 G4Monopole::G4Monopole(const G4String& name,
24  G4double mass,
25  G4double mCharge,
26  G4double eCharge,
27  G4int encoding)
28  : G4ParticleDefinition(name, mass, 0.0 * MeV, eplus * eCharge,
29  1, 0, 0,
30  0, 0, 0,
31  "fermion", 0, 0, encoding,
32  true, -1.0, 0),
33  // Arguments for constructor are as follows
34  // name mass width charge
35  // 2*spin parity C-conjugation
36  // 2*Isospin 2*Isospin3 G-parity
37  // type lepton_number baryon_number PDG_encoding
38  // stable lifetime decay_table
39  magCharge(eplus * mCharge)
40 {
41  B2INFO("Monopole is created: m(GeV)= " << mass / GeV
42  << " Qel(e+)= " << eCharge / eplus
43  << " Qmag(e+)= " << magCharge / eplus);
44 }
45 
47 {}
48 
50 {
51  return magCharge;
52 }
53 
Belle2::Monopoles::G4Monopole::MagneticCharge
G4double MagneticCharge() const
Returns magnetic charge of the monopole.
Definition: G4Monopole.cc:49
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Monopoles::G4Monopole::~G4Monopole
virtual ~G4Monopole()
Destructor.
Definition: G4Monopole.cc:46
Belle2::Monopoles::G4Monopole::magCharge
G4double magCharge
Magnetic charge of the monopole, in e+ units.
Definition: G4Monopole.h:76