20#include "BDSPhysicsGammaToMuMu.hh"
22#include "G4AutoDelete.hh"
23#include "G4GammaConversionToMuons.hh"
24#include "G4LeptonConstructor.hh"
25#include "G4ParticleDefinition.hh"
26#include "G4PhysicsListHelper.hh"
28#include "G4Version.hh"
31BDSPhysicsGammaToMuMu::BDSPhysicsGammaToMuMu():
32 G4VPhysicsConstructor(
"BDSPhysicsGammaToMuMu")
35BDSPhysicsGammaToMuMu::~BDSPhysicsGammaToMuMu()
40 G4LeptonConstructor leptons;
41 leptons.ConstructParticle();
49 G4GammaConversionToMuons* gammaToMuPair =
new G4GammaConversionToMuons();
50 G4AutoDelete::Register(gammaToMuPair);
52 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
54#if G4VERSION_NUMBER > 1029
55 auto aParticleIterator = GetParticleIterator();
57 aParticleIterator->reset();
59 while( (*aParticleIterator)() )
61 G4ParticleDefinition* particle = aParticleIterator->value();
62 G4String particleName = particle->GetParticleName();
64 if (particleName ==
"gamma")
65 {ph->RegisterProcess(gammaToMuPair, particle);}
virtual void ConstructProcess()
Construct and attach the processes to the relevant particles.
virtual void ConstructParticle()
Construct required particles.
G4bool Activated() const
Get whether this instance has been activated.
void SetActivated()
Flag this instance as activated for later querying.