|
14 | 14 |
|
15 | 15 | #include "CommonUtils/ConfigurableParam.h" |
16 | 16 | #include "CommonUtils/ConfigurableParamHelper.h" |
| 17 | +#include "SimulationDataFormat/MonopoleParticles.h" |
17 | 18 |
|
18 | 19 | namespace o2 |
19 | 20 | { |
@@ -80,6 +81,22 @@ struct G4Params : public o2::conf::ConfigurableParamHelper<G4Params> { |
80 | 81 | bool g4scoring = false; |
81 | 82 | bool g4fluenceweight = false; |
82 | 83 |
|
| 84 | + // Enable magnetic-monopole ionisation as defined in Detectors/gconfig/O2MonopolePhysics. |
| 85 | + // The G4mplIonisation process (Ahlen stopping power) is attached to |
| 86 | + // the O2 monopole particles (PDG +-4110000 / +-4120000) on top of the chosen |
| 87 | + // reference physics list. Off by default |
| 88 | + bool monopole = false; |
| 89 | + // Monopole magnetic charge in units of the Dirac charge g_D = eplus/(2*alpha) |
| 90 | + // (~68.5 eplus). 1.0 corresponds to a single classic Dirac monopole. |
| 91 | + // The monopole is transported with the full dual Lorentz force |
| 92 | + // F = g*(B - v x E/c^2). The electric part acts inside the TPC field cage, |
| 93 | + // the only volume with an electric field, and its magnitude is the TPC's own |
| 94 | + // TPCGEMParam.ElectricField[0] |
| 95 | + float monopoleMagneticCharge = 1.f; |
| 96 | + // Monopole mass in GeV, preliminarly applied to all the monopoles species |
| 97 | + // To-do: allow different monopoles masses in the same run |
| 98 | + float monopoleMass = static_cast<float>(o2::sim::MonopoleMassDefaultGeV); |
| 99 | + |
83 | 100 | // Fast simulation. Empty fastSimModels (the default) disables the feature |
84 | 101 | // entirely; see Detectors/gconfig/include/SimSetup/G4FastSimulation.h. |
85 | 102 | std::string fastSimModels = ""; // comma-separated model names to activate |
|
0 commit comments