G4PreCompoundFragment Class Reference

#include <G4PreCompoundFragment.hh>

Inheritance diagram for G4PreCompoundFragment:

G4VPreCompoundFragment G4PreCompoundIon G4PreCompoundNucleon G4PreCompoundAlpha G4PreCompoundDeuteron G4PreCompoundHe3 G4PreCompoundTriton G4PreCompoundNeutron G4PreCompoundProton

Public Member Functions

 G4PreCompoundFragment (const G4ParticleDefinition *, G4VCoulombBarrier *aCoulombBarrier)
virtual ~G4PreCompoundFragment ()
G4double CalcEmissionProbability (const G4Fragment &aFragment)
G4double GetKineticEnergy (const G4Fragment &aFragment)

Protected Member Functions

virtual G4double ProbabilityDistributionFunction (G4double K, const G4Fragment &aFragment)=0

Detailed Description

Definition at line 44 of file G4PreCompoundFragment.hh.


Constructor & Destructor Documentation

G4PreCompoundFragment::G4PreCompoundFragment ( const G4ParticleDefinition ,
G4VCoulombBarrier aCoulombBarrier 
)

Definition at line 40 of file G4PreCompoundFragment.cc.

00042   : G4VPreCompoundFragment(part,aCoulombBarrier)
00043 {}

G4PreCompoundFragment::~G4PreCompoundFragment (  )  [virtual]

Definition at line 45 of file G4PreCompoundFragment.cc.

00046 {}


Member Function Documentation

G4double G4PreCompoundFragment::CalcEmissionProbability ( const G4Fragment aFragment  )  [virtual]

Implements G4VPreCompoundFragment.

Definition at line 49 of file G4PreCompoundFragment.cc.

References G4VPreCompoundFragment::GetMaximalKineticEnergy(), G4VPreCompoundFragment::OPTxs, G4VPreCompoundFragment::theCoulombBarrier, G4VPreCompoundFragment::theEmissionProbability, and G4VPreCompoundFragment::useSICB.

00050 {
00051   //G4cout << theCoulombBarrier << "  " << GetMaximalKineticEnergy() << G4endl;
00052   // If  theCoulombBarrier effect is included in the emission probabilities
00053   //if (GetMaximalKineticEnergy() <= 0.0) 
00054   G4double limit = 0.0;
00055   if(OPTxs==0 ||  useSICB) { limit = theCoulombBarrier; }
00056   if (GetMaximalKineticEnergy() <= limit) 
00057     {
00058       theEmissionProbability = 0.0;
00059       return 0.0;
00060     }    
00061   // If  theCoulombBarrier effect is included in the emission probabilities
00062   //  G4double LowerLimit = 0.;
00063   // Coulomb barrier is the lower limit 
00064   // of integration over kinetic energy
00065   G4double LowerLimit = limit;
00066 
00067   // Excitation energy of nucleus after fragment emission is the upper 
00068   //limit of integration over kinetic energy
00069   G4double UpperLimit = GetMaximalKineticEnergy();
00070   
00071   theEmissionProbability = 
00072     IntegrateEmissionProbability(LowerLimit,UpperLimit,aFragment);
00073   /*
00074   G4cout << "## G4PreCompoundFragment::CalcEmisProb "
00075          << "Z= " << aFragment.GetZ_asInt() 
00076          << " A= " << aFragment.GetA_asInt()
00077          << " Elow= " << LowerLimit/MeV
00078          << " Eup= " << UpperLimit/MeV
00079          << " prob= " << theEmissionProbability
00080          << G4endl;
00081   */
00082   return theEmissionProbability;
00083 }

G4double G4PreCompoundFragment::GetKineticEnergy ( const G4Fragment aFragment  )  [virtual]

Implements G4VPreCompoundFragment.

Definition at line 128 of file G4PreCompoundFragment.cc.

References G4UniformRand, G4VPreCompoundFragment::GetEmissionProbability(), G4VPreCompoundFragment::GetMaximalKineticEnergy(), G4VPreCompoundFragment::OPTxs, ProbabilityDistributionFunction(), G4VPreCompoundFragment::theCoulombBarrier, and G4VPreCompoundFragment::useSICB.

00129 {
00130   //let's keep this way for consistency with CalcEmissionProbability method
00131   G4double V = 0.0;
00132   if(OPTxs==0 || useSICB) { V = theCoulombBarrier; }
00133 
00134   G4double Tmax = GetMaximalKineticEnergy();  
00135   if(Tmax < V) { return 0.0; }
00136   G4double T(0.0);
00137   G4double Probability(1.0);
00138   G4double maxProbability = GetEmissionProbability();
00139   do 
00140     {
00141       T = V + G4UniformRand()*(Tmax-V);
00142       Probability = ProbabilityDistributionFunction(T,aFragment);      
00143     }   while (maxProbability*G4UniformRand() > Probability);  
00144   return T;
00145 }

virtual G4double G4PreCompoundFragment::ProbabilityDistributionFunction ( G4double  K,
const G4Fragment aFragment 
) [protected, pure virtual]

Implemented in G4PreCompoundIon, and G4PreCompoundNucleon.

Referenced by GetKineticEnergy().


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