109 (*theChannels)[i]->SetOPTxs(
OPTxs);
110 (*theChannels)[i]->Initialise();
152 G4double totprob, prob, oldprob = 0.0;
153 size_t maxchannel, i;
159 for(
G4int ia=0; ia<Amax; ++ia) {
178 if(Eex <= minExcitation && abun > 0.0) {
break; }
188 prob = (*theChannels)[i]->GetEmissionProbability(theResidualNucleus);
195 if(i>=8 && prob > 0.0) {
196 if(prob <= totprob*1.e-8 && oldprob <= totprob*1.e-8) {
208 (*theChannels)[0]->BreakUpChain(theResult, theResidualNucleus);
228 for(i=0; i<maxchannel; ++i) {
if(
probabilities[i] >= totprob) {
break; } }
231 G4Fragment* frag = (*theChannels)[i]->EmittedFragment(theResidualNucleus);
235 if(frag) { theResult->push_back(frag); }
239 theResult->push_back(theResidualNucleus);
virtual std::vector< G4VEvaporationChannel * > * GetChannel()=0
G4DeexChannelType GetDeexChannelsType() const
std::vector< G4double > probabilities
void InitialiseChannelFactory()
virtual G4bool IsApplicable(G4int Z, G4int A, G4double mass) const =0
virtual G4bool BreakUpChain(G4FragmentVector *, G4Fragment *) final
G4VEvaporationChannel * thePhotonEvaporation
static G4NistManager * Instance()
G4Evaporation(G4VEvaporationChannel *photoEvaporation=nullptr)
std::vector< G4VEvaporationChannel * > * theChannels
G4IonTable * GetIonTable() const
virtual void InitialiseChannels() final
double A(double temperature)
std::vector< G4Fragment * > G4FragmentVector
G4DeexPrecoParameters * GetParameters()
G4IonTable * theTableOfIons
G4double GetIsotopeAbundance(G4int Z, G4int N) const
virtual void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus) final
void SetCombinedChannel()
static G4ParticleTable * GetParticleTable()
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
G4VEvaporationFactory * theChannelFactory
static constexpr double keV
G4UnstableFragmentBreakUp * unstableBreakUp
static G4NuclearLevelData * GetInstance()
G4double GetMinExcitation() const
G4double GetExcitationEnergy() const