Belle II Software  release-05-02-19
G4MonopolePhysics.h
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 #pragma once
14 
15 #include <G4VPhysicsConstructor.hh>
16 #include <globals.hh>
17 #include <simulation/monopoles/MonopoleConstants.h>
18 
19 namespace Belle2 {
25  namespace Monopoles {
26 
27  class G4Monopole;
28 
35  class G4MonopolePhysics : public G4VPhysicsConstructor {
36  public:
37 
42  explicit G4MonopolePhysics(double magneticCharge = 1.0);
43 
48 
53  virtual void ConstructParticle();
54 
60  virtual void ConstructProcess();
61 
62  private:
63 
74 
75  G4double fMagCharge;
76  G4double fElCharge;
77  G4double fMonopoleMass;
79  G4Monopole* fMpl;
80  G4Monopole* fApl;
81  //Both monopole and anti-monopole have own process managers and have to be treated separately
82 
83  };
84 
85  } //end Monopoles namespace
86 
88 } //end Belle2 namespace
Belle2::Monopoles::G4MonopolePhysics::fElCharge
G4double fElCharge
Electric charge in case of dyon.
Definition: G4MonopolePhysics.h:84
Belle2::Monopoles::G4MonopolePhysics::~G4MonopolePhysics
~G4MonopolePhysics()
Destructor.
Definition: G4MonopolePhysics.cc:53
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Monopoles::G4MonopolePhysics::operator=
G4MonopolePhysics & operator=(const G4MonopolePhysics &right)
Assignment operator should be hidden.
Belle2::Monopoles::G4MonopolePhysics::fApl
G4Monopole * fApl
Pointer to the anti-monopole definition in GEANT4.
Definition: G4MonopolePhysics.h:88
Belle2::Monopoles::G4MonopolePhysics::ConstructParticle
virtual void ConstructParticle()
Adds monopole and anti-monopole to GEANT4 with a pdg of +/-99666 and parameters taken from current cl...
Definition: G4MonopolePhysics.cc:57
Belle2::Monopoles::G4MonopolePhysics::G4MonopolePhysics
G4MonopolePhysics(double magneticCharge=1.0)
Constructor.
Definition: G4MonopolePhysics.cc:34
Belle2::Monopoles::G4MonopolePhysics::fMagCharge
G4double fMagCharge
Magnetic charge of the monopole, in e+ units.
Definition: G4MonopolePhysics.h:83
Belle2::Monopoles::G4MonopolePhysics::fMonopoleMass
G4double fMonopoleMass
Mass of the monopole.
Definition: G4MonopolePhysics.h:85
Belle2::Monopoles::G4Monopole
A class to hold monopole description as a particle.
Definition: G4Monopole.h:43
Belle2::Monopoles::G4MonopolePhysics::fMpl
G4Monopole * fMpl
Pointer to the monopole definition in GEANT4.
Definition: G4MonopolePhysics.h:87
Belle2::Monopoles::G4MonopolePhysics
Monopole physics class to register on the physics list.
Definition: G4MonopolePhysics.h:43
Belle2::Monopoles::G4MonopolePhysics::ConstructProcess
virtual void ConstructProcess()
This method will be invoked in the Construct() method.
Definition: G4MonopolePhysics.cc:65