97 for (
size_t i=1; i<
nChannels; ++i) {
delete (*theChannels)[i]; }
122 (*theChannels)[i]->SetOPTxs(
OPTxs);
123 (*theChannels)[i]->UseSICB(
useSICB);
124 (*theChannels)[i]->Initialise();
152 if(0 <
nChannels) { (*theChannels)[0] = ptr; }
166 G4double totprob, prob, oldprob = 0.0;
167 size_t maxchannel, i;
173 for(
G4int ia=0; ia<Amax; ++ia) {
184 theResult->push_back(theResidualNucleus);
197 if(Eex <= minExcitation && abun > 0.0) {
198 theResult->push_back(theResidualNucleus);
210 prob = (*theChannels)[i]->GetEmissionProbability(theResidualNucleus);
218 if(prob <= totprob*1.e-8 && oldprob <= totprob*1.e-8) {
230 (*theChannels)[0]->BreakUpChain(theResult, theResidualNucleus);
238 if(0.0 == abun && Z < 20) {
242 theResult->push_back(theResidualNucleus);
250 for(i=0; i<maxchannel; ++i) {
if(
probabilities[i] >= totprob) {
break; } }
253 G4Fragment* frag = (*theChannels)[i]->EmittedFragment(theResidualNucleus);
254 if(frag) { theResult->push_back(frag); }
257 theResult->push_back(theResidualNucleus);
263 theResult->push_back(theResidualNucleus);
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus)
virtual std::vector< G4VEvaporationChannel * > * GetChannel()=0
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
virtual void Initialise()
std::vector< G4double > probabilities
G4VEvaporationChannel * thePhotonEvaporation
static G4NistManager * Instance()
std::vector< G4VEvaporationChannel * > * theChannels
G4bool IsApplicable(G4int Z, G4int A, G4double mass) const
G4IonTable * GetIonTable() const
std::vector< G4Fragment * > G4FragmentVector
G4IonTable * theTableOfIons
G4double GetIsotopeAbundance(G4int Z, G4int N) const
G4double GetGroundStateMass() const
static const G4double A[nN]
void SetCombinedChannel()
G4FermiFragmentsPool * thePool
static G4ParticleTable * GetParticleTable()
void InitialiseEvaporation()
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
G4UnstableFragmentBreakUp unstableBreakUp
virtual G4bool BreakUpChain(G4FragmentVector *theResult, G4Fragment *theNucleus)
static G4FermiFragmentsPool * Instance()
G4VEvaporationFactory * theChannelFactory
G4double GetExcitationEnergy() const