96{
97 auto particleIterator=GetParticleIterator();
98 particleIterator->reset();
100
101 while ((*particleIterator)()) {
103 pmanager = particle->GetProcessManager();
104 G4String particleName = particle->GetParticleName();
105
106 if (!pmanager) {
107 std::ostringstream o;
108 o << "Particle " << particleName << "without a Process Manager";
109 G4Exception("ExUCNExtraPhysics::ConstructProcess()","",
110 FatalException,o.str().c_str());
111 }
112
113 if (particleName == "neutron") {
114 pmanager->AddDiscreteProcess(
new G4UCNLoss());
117
120 ucnBoundaryProcess->SetMicroRoughness(true);
121 ucnBoundaryProcess->SetVerboseLevel(0);
122
123 pmanager->AddDiscreteProcess(ucnBoundaryProcess);
124 }
125 }
126}