109 G4cout <<
"### G4Evaporation::InitialiseChannelFactory for "
113 (*theChannels)[i]->SetOPTxs(
OPTxs);
114 (*theChannels)[i]->Initialise();
156 G4double totprob, prob, oldprob = 0.0;
157 size_t maxchannel, i;
163 for(
G4int ia=0; ia<Amax; ++ia) {
176 G4cout <<
"### G4Evaporation::BreakItUp step " << ia <<
" Z= " << Z
177 <<
" A= " << A <<
" Eex(MeV)= "
179 <<
" aban= " << abun <<
G4endl;
182 if(Eex <= minExcitation && abun > 0.0) {
break; }
187 G4cout <<
"### Evaporation loop #" << ia
188 <<
" Fragment: " << theResidualNucleus <<
G4endl;
192 prob = (*theChannels)[i]->GetEmissionProbability(theResidualNucleus);
194 G4cout <<
" Channel# " << i <<
" prob= " << prob <<
G4endl;
200 if(i>=8 && prob > 0.0) {
201 if(prob <= totprob*1.
e-8 && oldprob <= totprob*1.
e-8) {
215 (*theChannels)[0]->BreakUpChain(theResult, theResidualNucleus);
235 for(i=0; i<maxchannel; ++i) {
if(
probabilities[i] >= totprob) {
break; } }
238 G4Fragment* frag = (*theChannels)[i]->EmittedFragment(theResidualNucleus);
242 if(frag) { theResult->push_back(frag); }
246 theResult->push_back(theResidualNucleus);
G4IonTable * theTableOfIons
G4VEvaporationChannel * thePhotonEvaporation
std::vector< G4VEvaporationChannel * > * theChannels
static G4ParticleTable * GetParticleTable()
G4DeexPrecoParameters * GetParameters()
static constexpr double keV
virtual void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus) final
void InitialiseChannelFactory()
static G4NuclearLevelData * GetInstance()
G4IonTable * GetIonTable() const
G4VEvaporationFactory * theChannelFactory
G4double GetMinExcitation() const
virtual G4bool BreakUpChain(G4FragmentVector *, G4Fragment *) final
virtual void InitialiseChannels() final
G4double GetIsotopeAbundance(G4int Z, G4int N) const
std::vector< G4double > probabilities
double A(double temperature)
G4DeexChannelType GetDeexChannelsType() const
G4Evaporation(G4VEvaporationChannel *photoEvaporation=nullptr)
G4UnstableFragmentBreakUp * unstableBreakUp
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
G4GLOB_DLL std::ostream G4cout
G4double GetExcitationEnergy() const
std::vector< G4Fragment * > G4FragmentVector
virtual std::vector< G4VEvaporationChannel * > * GetChannel()=0
void SetCombinedChannel()
virtual G4bool IsApplicable(G4int Z, G4int A, G4double mass) const =0
static G4NistManager * Instance()