81 std::pair<G4double,G4double> ratios;
87 G4cout <<
"G4QuasiElasticChannel::ratios " << ratios.first <<
" x " <<ratios.second
88 <<
" = " << ratios.first*ratios.second <<
G4endl;
91 return ratios.first*ratios.second;
101 const std::vector<G4Nucleon>& nucleons=the3DNucleus->
GetNucleons();
107 }
while (index < 0 || index >= static_cast<G4int>(nucleons.size()));
125 G4cout<<
"G4QElChan::Scatter: neutron - proton? A ="<<A<<
", Z="<<Z<<
", projName="
130 G4double residualNucleusEnergy=std::sqrt(
sqr(residualNucleusMass) +
132 pNucleon.
setE(targetNucleusMass-residualNucleusEnergy);
135 std::pair<G4LorentzVector,G4LorentzVector> result;
141 if (result.first.e() > 0.)
142 scatteredHadron4Mom=result.second;
153 - result.first - result.second;
155 || (std::abs(EpConservation.
e()) > 0.1 *
MeV ) )
157 G4cout <<
"Warning - G4QuasiElasticChannel::Scatter E-p non conservation : "
158 << EpConservation <<
G4endl;
165 ktv->push_back(sPrim);
166 if (result.first.e() > 0.)
169 ktv->push_back(sNuc);
175 ktv->push_back(rNuc);
179 residualNucleus4Mom/=resA;
184 ktv->push_back(rNuc);
188 G4cout<<
"G4QElC::Scat: Nucleon: "<<result.first <<
" mass "<<result.first.mag() <<
G4endl;
189 G4cout<<
"G4QElC::Scat: Project: "<<result.second<<
" mass "<<result.second.mag()<<
G4endl;