CMS 3D CMS Logo

APrimePhysics.cc
Go to the documentation of this file.
4 // Geant 4
5 #include "G4Electron.hh"
6 #include "G4MuonMinus.hh"
7 #include "G4MuonPlus.hh"
8 #include "G4ProcessManager.hh"
9 #include "G4SystemOfUnits.hh"
10 
11 APrimePhysics::APrimePhysics(double APMass, const G4String& scalefile, const G4double cxBias, const G4String& name)
12  : G4VPhysicsConstructor(name), aprimeDef_(nullptr) {
13  apmass = APMass;
14  mgfile = scalefile;
15  biasFactor = cxBias;
16 }
17 
19 
26  //aprimeDef->SetProcessManager(new G4ProcessManager(aprimeDef));
27 }
28 
30  G4ParticleDefinition* muonminus = G4MuonMinus::MuonMinusDefinition();
31  G4ParticleDefinition* muonplus = G4MuonPlus::MuonPlusDefinition();
32  G4ProcessManager* pmplus = muonplus->GetProcessManager();
33  G4ProcessManager* pmminus = muonminus->GetProcessManager();
34  pmplus->AddDiscreteProcess(new G4muDarkBremsstrahlung(mgfile, biasFactor), 6);
35  pmminus->AddDiscreteProcess(new G4muDarkBremsstrahlung(mgfile, biasFactor), 6);
36 }
G4ParticleDefinition * aprimeDef_
Definition: APrimePhysics.h:34
G4double biasFactor
Definition: APrimePhysics.h:37
~APrimePhysics() override
#define nullptr
void ConstructParticle() override
Class creating the A' particle in Geant.
void ConstructProcess() override
Class providing the Dark Bremsstrahlung process class.
APrimePhysics(double APMass, const G4String &scalefile, const G4double cxBias, const G4String &name="APrime")
static G4APrime * APrime(double apmass=1000)
Definition: G4APrime.cc:43
G4String mgfile
Definition: APrimePhysics.h:36