85   maxZForFermiBreakUp(9),maxAForFermiBreakUp(17),minEForMultiFrag(400*
GeV),
 
   86   minExcitation(0.1*
keV),OPTxs(3),useSICB(false),isEvapLocal(true)
 
  138   } 
else if(exEnergy < minExcitation && nist->GetIsotopeAbundance(Z, A) > 0.0) {
 
  154         size_t nsec = theTempResult->size();
 
  162           G4bool deletePrimary = 
true;
 
  163           G4FragmentVector::iterator j;
 
  164           for (j = theTempResult->begin(); j != theTempResult->end(); ++j) {  
 
  165             if((*j) == theInitialStatePtr) { deletePrimary = 
false; }
 
  166             A = (*j)->GetA_asInt();  
 
  174               G4double exEnergy1 = (*j)->GetExcitationEnergy();
 
  178                 Z = (*j)->GetZ_asInt(); 
 
  190           if( deletePrimary ) { 
delete theInitialStatePtr; }
 
  192         delete theTempResult; 
 
  205   std::vector<G4Fragment*>::iterator iList;
 
  227           for(
size_t j=0; j<nsec; ++j) {
 
  228             exEnergy = 
results[j]->GetExcitationEnergy();
 
  248     for (
size_t j = 0; j<nsec; ++j) {
 
  257       exEnergy = 
results[j]->GetExcitationEnergy();
 
  290     exEnergy = (*iList)->GetExcitationEnergy();
 
  311   theReactionProductVector->reserve( 
theResults.size() );
 
  313   G4int theFragmentA, theFragmentZ;
 
  320     theFragmentA = (*iList)->GetA_asInt();
 
  321     theFragmentZ = (*iList)->GetZ_asInt();
 
  322     G4double etot= (*iList)->GetMomentum().e();
 
  325     if (theFragmentA == 0) {       
 
  326       theKindOfFragment = (*iList)->GetParticleDefinition();   
 
  327     } 
else if (theFragmentA == 1 && theFragmentZ == 0) { 
 
  329     } 
else if (theFragmentA == 1 && theFragmentZ == 1) { 
 
  331     } 
else if (theFragmentA == 2 && theFragmentZ == 1) { 
 
  333     } 
else if (theFragmentA == 3 && theFragmentZ == 1) { 
 
  335     } 
else if (theFragmentA == 3 && theFragmentZ == 2) { 
 
  337     } 
else if (theFragmentA == 4 && theFragmentZ == 2) { 
 
  342       eexc = (*iList)->GetExcitationEnergy();
 
  351     if(theKindOfFragment) {
 
  353       theNew->
SetMomentum((*iList)->GetMomentum().vect());
 
  356       theReactionProductVector->push_back(theNew);
 
  361       if(theKindOfFragment) {
 
  364         if(etot <= ionmass) {
 
  367           G4double ptot = std::sqrt((etot - ionmass)*(etot + ionmass));
 
  368           mom = ((*iList)->GetMomentum().vect().unit())*ptot;
 
  374         theReactionProductVector->push_back(theNew);
 
  386   return theReactionProductVector;
 
  458     outFile << 
"G4ExcitationHandler description\n" 
  459             << 
"This class samples de-excitation of excited nucleus using\n" 
  460             << 
"Fermi Break-up model for light fragments (Z < 9, A < 17), " 
  461             << 
"evaporation, fission, and photo-evaporation models. Evaporated\n" 
  462             << 
"particle may be proton, neutron, and other light fragment \n" 
  463             << 
"(Z < 13, A < 29). During photon evaporation produced gamma \n" 
  464             << 
"or electrons due to internal conversion \n";
 
static G4Pow * GetInstance()
 
static G4Triton * TritonDefinition()
 
static G4He3 * He3Definition()
 
void ModelDescription(std::ostream &outFile) const 
 
std::vector< G4Fragment * > theResults
 
CLHEP::Hep3Vector G4ThreeVector
 
virtual G4bool BreakUpChain(G4FragmentVector *theResult, G4Fragment *theNucleus)
 
G4VEvaporationChannel * GetPhotonEvaporation()
 
void SetMomentum(const G4double x, const G4double y, const G4double z)
 
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
 
static G4Proton * ProtonDefinition()
 
virtual void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus)
 
void SetMinEForMultiFrag(G4double anE)
 
virtual G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)=0
 
static G4NistManager * Instance()
 
G4ReactionProductVector * BreakItUp(const G4Fragment &theInitialState)
 
std::vector< G4Fragment * > results
 
std::vector< G4ReactionProduct * > G4ReactionProductVector
 
std::vector< G4Fragment * > thePhotoEvapList
 
G4bool IsApplicable(G4int Z, G4int A, G4double mass) const 
 
G4IonTable * GetIonTable() const 
 
double A(double temperature)
 
std::vector< G4Fragment * > theEvapList
 
virtual void InitialiseChannels()
 
void SetFermiModel(G4VFermiBreakUp *ptr)
 
void SetTotalEnergy(const G4double en)
 
std::vector< G4Fragment * > G4FragmentVector
 
void SetMultiFragmentation(G4VMultiFragmentation *ptr)
 
G4VEvaporationChannel * thePhotonEvaporation
 
G4FermiFragmentsPool * thePool
 
G4double GetIsotopeAbundance(G4int Z, G4int N) const 
 
G4double GetGroundStateMass() const 
 
G4int maxAForFermiBreakUp
 
G4VMultiFragmentation * theMultiFragmentation
 
G4VFermiBreakUp * theFermiModel
 
virtual void BreakFragment(G4FragmentVector *, G4Fragment *theNucleus)=0
 
G4double minEForMultiFrag
 
void SetMaxZForFermiBreakUp(G4int aZ)
 
G4double GetPDGMass() const 
 
static G4ParticleTable * GetParticleTable()
 
virtual void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
 
void SetMaxAandZForFermiBreakUp(G4int anA, G4int aZ)
 
void SetEvaporation(G4VEvaporation *ptr)
 
G4VEvaporation * theEvaporation
 
void SetMaxAForFermiBreakUp(G4int anA)
 
virtual void Initialise()
 
void SetFormationTime(G4double aTime)
 
static G4FermiFragmentsPool * Instance()
 
void SetPhotonEvaporation(G4VEvaporationChannel *ptr)
 
static G4Deuteron * DeuteronDefinition()
 
static G4Alpha * AlphaDefinition()
 
static G4Neutron * NeutronDefinition()
 
G4int maxZForFermiBreakUp
 
G4double GetExcitationEnergy() const 
 
G4IonTable * theTableOfIons