47 LogDebug(
"CustomPhysics") <<
" CustomPhysics: adding CustomPhysics processes";
48 theParticleIterator->reset();
50 while((*theParticleIterator)()) {
52 G4ParticleDefinition* particle = theParticleIterator->value();
55 LogDebug(
"CustomPhysics") << particle->GetParticleName()<<
", "<<particle->GetPDGEncoding()
56 <<
" is Custom. Mass is "
57 <<particle->GetPDGMass()/GeV <<
" GeV.";
59 LogDebug(
"CustomPhysics")<<
"Cloud mass is "
61 <<
" GeV. Spectator mass is "
62 <<
static_cast<CustomParticle*
>(particle)->GetSpectator()->GetPDGMass()/GeV
65 G4ProcessManager* pmanager = particle->GetProcessManager();
68 if(particle->GetParticleType()==
"rhadron" || particle->GetParticleType()==
"mesonino" || particle->GetParticleType() ==
"sbaryon"){
70 pmanager->AddDiscreteProcess(
new FullModelHadronicProcess(
myHelper));
73 if(particle->GetPDGCharge()/eplus != 0) {
74 pmanager->AddProcess(
new G4hMultipleScattering,-1, 1,i+1);
75 pmanager->AddProcess(
new G4hIonisation, -1, 2,i+2);
78 else LogDebug(
"CustomPhysics") <<
" No pmanager";
edm::ParameterSet myConfig
G4ParticleDefinition * GetCloud()
G4ProcessHelper * myHelper
static bool isCustomParticle(G4ParticleDefinition *particle)