111 G4double muEnergy = fMuMass + muBindingEnergy;
112 G4double muMom = std::sqrt(muBindingEnergy*(muBindingEnergy + 2.0*fMuMass));
113 G4double availableEnergy = massA + fMuMass - muBindingEnergy;
121 if((1 == Z && 1 == A) || (2 == Z && 3 == A)) {
124 if(1 == Z) { pd = fNeutron; }
131 residualMass*residualMass/availableEnergy);
136 AddNewParticle(pd, nudir, availableEnergy - e - residualMass);
160 const std::vector<G4Nucleon>& nucleons= fNucleus.
GetNucleons();
164 G4int reentryCount = 0;
171 pDef = nucleons[
index].GetDefinition();
172 }
while(pDef != fProton);
189 momResidual = momInitial - momNu;
190 eEx = momResidual.
mag() - residualMass;
196 if(Ecms - Enu > eth) {
200 AddNewParticle(fNeutron, dir, ekin);
210 if(Enu <= 0.0 && eEx <= 0.0 && reentryCount > 100) {
213 ed <<
"Target Z= " << Z
215 ed <<
" ApplyYourself does not completed after 100 attempts" <<
G4endl;
216 G4Exception(
"G4MuMinusCapturePrecompound::AtRestDoIt",
"had006",
225 initialState.SetNumberOfExcitedParticle(nneutrons,0);
226 initialState.SetNumberOfHoles(1,1);
230 size_t n = rpv->size();
231 for(
size_t i=0; i<
n; ++i) {
235 fTime = time0 + rp->
GetTOF();
243 G4cout <<
"G4MuMinusCapturePrecompound::ApplyYourself: Nsec= "
245 <<
" E0(MeV)= " <<availableEnergy/
MeV
246 <<
" Mres(GeV)= " <<residualMass/
GeV
256 outFile <<
"Sampling of mu- capture by atomic nucleus from K-shell"
257 <<
" mesoatom orbit.\n"
258 <<
"Primary reaction mu- + p -> n + neutrino, neutron providing\n"
259 <<
" initial excitation of the target nucleus and PreCompound"
260 <<
" model samples final state\n";