150 G4bool nuclearCapture =
true;
160 G4int nEmCascadeSec = nSecondaries;
177 nuclearCapture =
false;
179 resultDecay->
Clear();
196 ed <<
"Target element "<<elm->
GetName()<<
" Z= "
199 DumpState(track,
"ChooseHadronicInteraction",ed);
200 ed <<
" No HadronicInteraction found out" <<
G4endl;
201 G4Exception(
"G4HadronStoppingProcess::AtRestDoIt",
"had005",
206 G4int reentryCount = 0;
218 ed <<
"Target element "<<elm->
GetName()<<
" Z= "
222 ed <<
" ApplyYourself failed" <<
G4endl;
223 G4Exception(
"G4HadronStoppingProcess::AtRestDoIt",
"had006",
230 if(reentryCount>100) {
233 ed <<
"Target element "<<elm->
GetName()<<
" Z= "
237 ed <<
" ApplyYourself does not completed after 100 attempts" <<
G4endl;
238 G4Exception(
"G4HadronStoppingProcess::AtRestDoIt",
"had006",
248 for(
size_t i=0; i<nnuc; ++i) {
253 nSecondaries += nnuc;
265 for(
G4int i=0; i<nSecondaries; ++i) {
270 if(time < 0.0) { time = 0.0; }
280 if (i<nEmCascadeSec) {
282 }
else if (nuclearCapture) {
G4double G4ParticleHPJENDLHEData::G4double result
virtual G4Element * SelectZandA(const G4Track &track, G4Nucleus *)
void AddSecondaries(const std::vector< G4HadSecondary > &addSecs)
std::ostringstream G4ExceptionDescription
G4HadSecondary * GetSecondary(size_t i)
const G4ThreeVector & GetPosition() const
void SetTouchableHandle(const G4TouchableHandle &apValue)
void SetGlobalTime(G4double t)
void CheckEnergyMomentumConservation(const G4Track &, const G4Nucleus &)
const G4String & GetModelName() const
void SetWeight(G4double aValue)
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
void SetCreatorModelIndex(G4int idx)
void ProposeWeight(G4double finalWeight)
void DumpState(const G4Track &, const G4String &, G4ExceptionDescription &)
G4ParticleChange * theTotalResult
G4double GetGlobalTime() const
G4double GetGlobalTime() const
const G4TouchableHandle & GetTouchableHandle() const
G4Material * GetMaterial() const
void Initialise(const G4Track &aT)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual void Initialize(const G4Track &)
void SetTime(G4double aT)
G4Nucleus * GetTargetNucleusPointer()
void SetNumberOfSecondaries(G4int totSecondaries)
G4DynamicParticle * GetParticle()
void SetBoundEnergy(G4double e)
void AddSecondary(G4Track *aSecondary)
G4double GetWeight() const
G4HadronicInteraction * ChooseHadronicInteraction(const G4HadProjectile &aHadProjectile, G4Nucleus &aTargetNucleus, G4Material *aMaterial, G4Element *anElement)
void ProposeTrackStatus(G4TrackStatus status)
const G4String & GetName() const
const XML_Char XML_Content * model
G4int GetNumberOfSecondaries() const
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)=0
G4double GetLocalEnergyDeposit() const
G4HadFinalState * CheckResult(const G4HadProjectile &thePro, const G4Nucleus &targetNucleus, G4HadFinalState *result)
G4HadFinalStateStatus GetStatusChange() const
G4double GetWeight() const