54 edm::LogInfo(
"CustomPhysics") <<
" CustomPhysicsList: adding CustomPhysics processes "
55 <<
"for the list of particles: \n";
56 aParticleIterator->reset();
58 while((*aParticleIterator)()) {
59 G4ParticleDefinition* particle = aParticleIterator->value();
62 edm::LogInfo(
"CustomPhysics") << particle->GetParticleName()
63 <<
" PDGcode= "<<particle->GetPDGEncoding()
65 <<particle->GetPDGMass()/
GeV <<
" GeV.";
67 edm::LogInfo(
"CustomPhysics") << particle->GetParticleName()
70 <<
" GeV; SpectatorMass= "
74 G4ProcessManager* pmanager = particle->GetProcessManager();
76 if(particle->GetPDGCharge() != 0.0) {
77 pmanager->AddProcess(
new G4hMultipleScattering,-1, 1, 1);
78 pmanager->AddProcess(
new G4hIonisation, -1, 2, 2);
81 if(particle->GetParticleType()==
"rhadron" ||
82 particle->GetParticleType()==
"mesonino" ||
83 particle->GetParticleType() ==
"sbaryon"){
85 pmanager->AddDiscreteProcess(
new FullModelHadronicProcess(
myHelper));
87 if(particle->GetParticleType()==
"darkpho"){
88 CMSDarkPairProductionProcess * darkGamma =
new CMSDarkPairProductionProcess(
dfactor);
89 pmanager->AddDiscreteProcess(darkGamma);
93 else LogDebug(
"CustomPhysics") <<
" No pmanager";
edm::ParameterSet myConfig
G4ParticleDefinition * GetCloud()
G4ParticleDefinition * GetSpectator()
G4ProcessHelper * myHelper
static bool isCustomParticle(G4ParticleDefinition *particle)