65   : theChannels(0),nChannels(0)
 
   75   : theChannels(0),nChannels(0)
 
   95   for (
size_t i=1; i<
nChannels; ++i) { 
delete (*theChannels)[i]; }
 
  120     (*theChannels)[i]->SetOPTxs(
OPTxs);
 
  121     (*theChannels)[i]->UseSICB(
useSICB);
 
  149   if(0 < 
nChannels) { (*theChannels)[0] = ptr; }
 
  161   G4double totprob, prob, oldprob = 0.0;
 
  162   size_t maxchannel, i;
 
  168   for(
G4int ia=0; ia<Amax; ++ia) {
 
  176       theResult->push_back(theResidualNucleus);
 
  190     if(Eex <= minExcitation && abun > 0.0) {
 
  191       theResult->push_back(theResidualNucleus);
 
  203       prob = (*theChannels)[i]->GetEmissionProbability(theResidualNucleus);
 
  210         if(prob <= totprob*1.e-8 && oldprob <= totprob*1.e-8) {
 
  217       if(7 == i && Eex > Elimit*A) {
 
  227       theTempResult = (*theChannels)[0]->BreakUpFragment(theResidualNucleus);
 
  229         size_t nsec = theTempResult->size();
 
  230         for(
size_t j=0; j<nsec; ++j) {
 
  231           theResult->push_back((*theTempResult)[j]);
 
  233         delete theTempResult;
 
  242       if(0.0 == abun && Z < 20) {
 
  246           size_t nsec = theTempResult->size();
 
  247           for(
size_t j=0; j<nsec; ++j) {
 
  248             theResult->push_back((*theTempResult)[j]);
 
  250           delete theTempResult;
 
  255       theResult->push_back(theResidualNucleus);
 
  262     for(i=0; i<maxchannel; ++i) { 
if(
probabilities[i] >= totprob) { 
break; } }
 
  265     if(i >= nChannels) { i = nChannels - 1; }
 
  271       G4Fragment* gamma = (*theChannels)[0]->EmittedFragment(theResidualNucleus);
 
  272       if(gamma) { theResult->push_back(gamma); }
 
  277       theTempResult = (*theChannels)[1]->BreakUp(*theResidualNucleus);
 
  279         size_t nsec = theTempResult->size();
 
  280         G4bool deletePrimary = 
true;
 
  281         for(
size_t j=0; j<nsec; ++j) {
 
  282           if(theResidualNucleus == (*theTempResult)[j]) { deletePrimary = 
false; }
 
  283           theResult->push_back((*theTempResult)[j]);
 
  285         if(deletePrimary) { 
delete theResidualNucleus; }
 
  286         delete theTempResult;
 
  293       theTempResult = (*theChannels)[i]->BreakUp(*theResidualNucleus);
 
  295         size_t nsec = theTempResult->size();
 
  298           for(
size_t j=0; j<nsec; ++j) {
 
  299             theResult->push_back((*theTempResult)[j]);
 
  303           if(theResidualNucleus != (*theTempResult)[nsec] ) { 
 
  304             delete theResidualNucleus; 
 
  305             theResidualNucleus = (*theTempResult)[nsec];
 
  308         delete theTempResult;
 
  314   theResult->push_back(theResidualNucleus);
 
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
 
virtual std::vector< G4VEvaporationChannel * > * GetChannel()=0
 
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
 
virtual void Initialise()
 
std::vector< G4double > probabilities
 
G4VEvaporationChannel * thePhotonEvaporation
 
std::vector< G4VEvaporationChannel * > * theChannels
 
static G4NistManager * Instance()
 
virtual G4FragmentVector * BreakUpFragment(G4Fragment *fragment)
 
G4IonTable * GetIonTable() const 
 
std::vector< G4Fragment * > G4FragmentVector
 
G4IonTable * theTableOfIons
 
G4double GetIsotopeAbundance(G4int Z, G4int N) const 
 
static const G4double A[nN]
 
void SetCombinedChannel()
 
G4VEvaporationFactory * theChannelFactory
 
static G4ParticleTable * GetParticleTable()
 
void InitialiseEvaporation()
 
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
 
G4UnstableFragmentBreakUp unstableBreakUp
 
static G4FermiFragmentsPool * Instance()
 
G4double GetExcitationEnergy() const