Changeset 962 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc
- Timestamp:
- Apr 6, 2009, 12:30:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc
r819 r962 25 25 // 26 26 // 27 // $Id: G4VPreCompoundNucleon.cc,v 1.5 2007/07/23 09:56:40 ahoward Exp $ 28 // GEANT4 tag $Name: $ 27 28 // $Id: G4VPreCompoundNucleon.cc,v 1.9 2008/09/22 10:18:36 ahoward Exp $ 29 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 30 29 31 // 30 32 // by V. Lara 31 32 #include "G4VPreCompoundNucleon.hh" 33 #include "G4PreCompoundParameters.hh" 34 // #include "G4EvaporationLevelDensityParameter.hh"33 // 34 //J.M. Quesada (Apr. 2008) DUMMY abstract base class for nucleons. 35 // it is not ihherited by anything 36 // Suppressed 35 37 36 38 37 G4double G4VPreCompoundNucleon::38 ProbabilityDistributionFunction(const G4double eKin,39 const G4Fragment& aFragment)40 {41 if ( !IsItPossible(aFragment) ) return 0.0;42 43 const G4double r0 = G4PreCompoundParameters::GetAddress()->Getr0();44 45 G4double U = aFragment.GetExcitationEnergy();46 G4double P = aFragment.GetNumberOfParticles();47 G4double H = aFragment.GetNumberOfHoles();48 G4double N = P + H;49 50 // g = (6.0/pi2)*a*A51 // G4EvaporationLevelDensityParameter theLDP;52 G4double g0 = (6.0/pi2)*aFragment.GetA() *53 G4PreCompoundParameters::GetAddress()->GetLevelDensity();54 // theLDP.LevelDensityParameter(G4int(aFragment.GetA()),G4int(aFragment.GetZ()),U);55 G4double g1 = (6.0/pi2)*GetRestA() *56 G4PreCompoundParameters::GetAddress()->GetLevelDensity();57 // theLDP.LevelDensityParameter(G4int(GetRestA()),G4int(GetRestZ()),U);58 59 60 G4double A0 = ((P*P+H*H+P-H)/4.0 - H/2.0)/g0;61 G4double A1 = (A0*g0 - P/2.0)/g1;62 63 G4double E0 = std::max(0.0,U - A0);64 if (E0 == 0.0) return 0.0;65 G4double E1 = std::max(0.0,U - eKin - GetBindingEnergy() - A1);66 67 G4double Probability = 2.0/(hbarc*hbarc*hbarc) * GetReducedMass() *68 GetRj(aFragment.GetNumberOfParticles(), aFragment.GetNumberOfCharged()) * r0 * r0 * std::pow(GetRestA(),2.0/3.0) * GetAlpha() * (eKin + GetBeta()) *69 P*(N-1.0) * std::pow(g1*E1/(g0*E0),N-2.0)/E0 *70 g1/(g0*g0);71 72 return Probability;73 }74 75
Note: See TracChangeset
for help on using the changeset viewer.