G4GNASHTransitions Class Reference

#include <G4GNASHTransitions.hh>

Inheritance diagram for G4GNASHTransitions:

G4VPreCompoundTransitions

Public Member Functions

 G4GNASHTransitions ()
virtual ~G4GNASHTransitions ()
virtual G4double CalculateProbability (const G4Fragment &aFragment)
virtual void PerformTransition (G4Fragment &aFragment)

Detailed Description

Definition at line 34 of file G4GNASHTransitions.hh.


Constructor & Destructor Documentation

G4GNASHTransitions::G4GNASHTransitions (  ) 

Definition at line 36 of file G4GNASHTransitions.cc.

00037 {}

G4GNASHTransitions::~G4GNASHTransitions (  )  [virtual]

Definition at line 39 of file G4GNASHTransitions.cc.

00040 {}


Member Function Documentation

G4double G4GNASHTransitions::CalculateProbability ( const G4Fragment aFragment  )  [virtual]

Implements G4VPreCompoundTransitions.

Definition at line 43 of file G4GNASHTransitions.cc.

References G4Fragment::GetA(), G4PreCompoundParameters::GetAddress(), G4Fragment::GetExcitationEnergy(), G4PreCompoundParameters::GetLevelDensity(), G4Fragment::GetNumberOfHoles(), and G4Fragment::GetNumberOfParticles().

00044 {
00045   const G4double k = 135.0 * MeV*MeV*MeV;
00046   G4double E = aFragment.GetExcitationEnergy();
00047   G4double P = aFragment.GetNumberOfParticles();
00048   G4double H = aFragment.GetNumberOfHoles();
00049   G4double N = P + H;
00050   G4double A = aFragment.GetA();
00051 
00052   G4double theMatrixElement(k*N/(A*A*A*E));
00053   G4double x = E/N;
00054   if ( x < 2.0*MeV ) theMatrixElement *= x/std::sqrt(14.0*MeV*MeV);
00055   else if ( x < 7.0*MeV ) x *= std::sqrt(x/7.0*MeV);
00056   else if ( x < 15.0*MeV ) ;
00057   else x *= std::sqrt(15.0*MeV/x);
00058 
00059   // gg = (6.0/pi2)*a*A
00060   G4double gg =  (6.0/pi2)*G4PreCompoundParameters::GetAddress()->GetLevelDensity()*A;
00061 
00062   G4double Epauli = ((P+1.0)*(P+1.0) + (H+1.0)*(H+1.0) + (P+1.0) - 3.0*(H-1.0))/4.0;
00063 
00064   G4double Probability = gg*gg*gg *(E-Epauli)*(E-Epauli);
00065   Probability /= 2.0*(N+1.0)*h_Planck;
00066   Probability *= theMatrixElement;
00067 
00068   return Probability;
00069 }

void G4GNASHTransitions::PerformTransition ( G4Fragment aFragment  )  [virtual]

Implements G4VPreCompoundTransitions.

Definition at line 71 of file G4GNASHTransitions.cc.

References G4UniformRand, G4Fragment::GetA(), G4Fragment::GetNumberOfCharged(), G4Fragment::GetNumberOfHoles(), G4Fragment::GetNumberOfParticles(), G4Fragment::GetZ(), G4Fragment::SetNumberOfCharged(), G4Fragment::SetNumberOfHoles(), and G4Fragment::SetNumberOfParticles().

00072 {
00073   result.SetNumberOfParticles(result.GetNumberOfParticles()+1);
00074   result.SetNumberOfHoles(result.GetNumberOfHoles()+1);
00075   if (G4UniformRand() <= result.GetZ()/result.GetA())
00076     {
00077       result.SetNumberOfCharged(result.GetNumberOfCharged()+1);
00078     }
00079 
00080   if (result.GetNumberOfParticles() < result.GetNumberOfCharged())
00081     {
00082       result.SetNumberOfCharged(result.GetNumberOfParticles());
00083     }
00084 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:06 2013 for Geant4 by  doxygen 1.4.7