#include <G4VPreCompoundFragment.hh>
Inheritance diagram for G4VPreCompoundFragment:
Definition at line 54 of file G4VPreCompoundFragment.hh.
G4VPreCompoundFragment::G4VPreCompoundFragment | ( | const G4ParticleDefinition * | , | |
G4VCoulombBarrier * | aCoulombBarrier | |||
) |
Definition at line 39 of file G4VPreCompoundFragment.cc.
References g4pow, G4VPreCompoundFragment(), G4PreCompoundParameters::GetAddress(), G4ParticleDefinition::GetBaryonNumber(), G4Pow::GetInstance(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), and theParameters.
Referenced by G4VPreCompoundFragment().
00041 : particle(part), theCoulombBarrierPtr(aCoulombBarrier), 00042 theRestNucleusA(0),theRestNucleusZ(0),theBindingEnergy(0.0), 00043 theMaximalKineticEnergy(-MeV),theRestNucleusMass(0.0), 00044 theReducedMass(0.0),theMomentum(0.,0.,0.,0.), 00045 theEmissionProbability(0.0),theCoulombBarrier(0.0), 00046 OPTxs(3),useSICB(false) 00047 { 00048 theA = particle->GetBaryonNumber(); 00049 theZ = G4int(particle->GetPDGCharge()/eplus + 0.1); 00050 theMass = particle->GetPDGMass(); 00051 theParameters = G4PreCompoundParameters::GetAddress(); 00052 g4pow = G4Pow::GetInstance(); 00053 theRestNucleusA13 = 0; 00054 }
G4VPreCompoundFragment::~G4VPreCompoundFragment | ( | ) | [virtual] |
virtual G4double G4VPreCompoundFragment::CalcEmissionProbability | ( | const G4Fragment & | aFragment | ) | [pure virtual] |
Implemented in G4HETCFragment, and G4PreCompoundFragment.
G4int G4VPreCompoundFragment::GetA | ( | ) | const [inline] |
Definition at line 58 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundAlpha::G4PreCompoundAlpha(), G4PreCompoundDeuteron::G4PreCompoundDeuteron(), G4PreCompoundHe3::G4PreCompoundHe3(), G4PreCompoundNeutron::G4PreCompoundNeutron(), G4PreCompoundProton::G4PreCompoundProton(), G4PreCompoundTriton::G4PreCompoundTriton(), G4HETCTriton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), operator<<(), G4PreCompoundEmission::PerformEmission(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4double G4VPreCompoundFragment::GetBindingEnergy | ( | ) | const [inline] |
Definition at line 88 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4double G4VPreCompoundFragment::GetCoulombBarrier | ( | ) | const [inline] |
Definition at line 83 of file G4VPreCompoundFragment.icc.
References theCoulombBarrier.
Referenced by G4PreCompoundProton::GetBeta(), G4PreCompoundIon::GetBeta(), G4HETCTriton::GetBeta(), G4HETCProton::GetBeta(), G4HETCHe3::GetBeta(), G4HETCDeuteron::GetBeta(), G4HETCAlpha::GetBeta(), G4HETCChargedFragment::GetKineticEnergy(), and Initialize().
00084 { 00085 return theCoulombBarrier; 00086 }
G4double G4VPreCompoundFragment::GetEmissionProbability | ( | ) | const [inline] |
Definition at line 103 of file G4VPreCompoundFragment.icc.
References theEmissionProbability.
Referenced by G4PreCompoundFragment::GetKineticEnergy().
00104 { 00105 return theEmissionProbability; 00106 }
G4double G4VPreCompoundFragment::GetEnergyThreshold | ( | ) | const [inline] |
Definition at line 98 of file G4VPreCompoundFragment.icc.
References theCoulombBarrier.
Referenced by G4HETCFragment::CalcEmissionProbability().
00099 { 00100 return theMaximalKineticEnergy - theCoulombBarrier; 00101 }
virtual G4double G4VPreCompoundFragment::GetKineticEnergy | ( | const G4Fragment & | aFragment | ) | [pure virtual] |
Implemented in G4HETCChargedFragment, G4HETCNeutron, and G4PreCompoundFragment.
Referenced by G4PreCompoundEmission::PerformEmission().
G4double G4VPreCompoundFragment::GetMaximalKineticEnergy | ( | ) | const [inline] |
Definition at line 93 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundFragment::CalcEmissionProbability(), G4HETCFragment::CalcEmissionProbability(), G4PreCompoundFragment::GetKineticEnergy(), G4HETCNeutron::GetKineticEnergy(), G4HETCChargedFragment::GetKineticEnergy(), and G4PreCompoundIon::ProbabilityDistributionFunction().
const G4LorentzVector & G4VPreCompoundFragment::GetMomentum | ( | ) | const [inline] |
const G4String G4VPreCompoundFragment::GetName | ( | ) | const [inline] |
Definition at line 136 of file G4VPreCompoundFragment.icc.
References G4ParticleDefinition::GetParticleName().
00137 { 00138 return particle->GetParticleName(); 00139 }
G4double G4VPreCompoundFragment::GetNuclearMass | ( | ) | const [inline] |
Definition at line 108 of file G4VPreCompoundFragment.icc.
Referenced by operator<<(), and G4PreCompoundEmission::PerformEmission().
G4ReactionProduct * G4VPreCompoundFragment::GetReactionProduct | ( | ) | const [inline] |
Definition at line 49 of file G4VPreCompoundFragment.icc.
References GetMomentum(), G4ReactionProduct::SetMomentum(), and G4ReactionProduct::SetTotalEnergy().
Referenced by G4PreCompoundEmission::PerformEmission().
00050 { 00051 G4ReactionProduct * theReactionProduct = 00052 new G4ReactionProduct(const_cast<G4ParticleDefinition*>(particle)); 00053 theReactionProduct->SetMomentum(GetMomentum().vect()); 00054 theReactionProduct->SetTotalEnergy(GetMomentum().e()); 00055 return theReactionProduct; 00056 }
G4double G4VPreCompoundFragment::GetReducedMass | ( | ) | const [inline] |
Definition at line 118 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4int G4VPreCompoundFragment::GetRestA | ( | ) | const [inline] |
Definition at line 68 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundAlpha::G4PreCompoundAlpha(), G4PreCompoundHe3::G4PreCompoundHe3(), G4PreCompoundNeutron::G4PreCompoundNeutron(), G4PreCompoundProton::G4PreCompoundProton(), G4PreCompoundTriton::G4PreCompoundTriton(), G4HETCNeutron::GetAlpha(), G4HETCNeutron::GetBeta(), G4HETCTriton::K(), G4HETCProton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), G4PreCompoundEmission::PerformEmission(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4double G4VPreCompoundFragment::GetRestNuclearMass | ( | ) | const [inline] |
G4int G4VPreCompoundFragment::GetRestZ | ( | ) | const [inline] |
Definition at line 73 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundAlpha::G4PreCompoundAlpha(), G4PreCompoundHe3::G4PreCompoundHe3(), G4PreCompoundNeutron::G4PreCompoundNeutron(), G4PreCompoundProton::G4PreCompoundProton(), G4PreCompoundTriton::G4PreCompoundTriton(), G4HETCTriton::GetAlpha(), G4HETCProton::GetAlpha(), G4HETCHe3::GetAlpha(), G4HETCDeuteron::GetAlpha(), G4HETCAlpha::GetAlpha(), G4HETCTriton::K(), G4HETCProton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), and G4PreCompoundEmission::PerformEmission().
G4int G4VPreCompoundFragment::GetZ | ( | ) | const [inline] |
Definition at line 63 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundAlpha::G4PreCompoundAlpha(), G4PreCompoundDeuteron::G4PreCompoundDeuteron(), G4PreCompoundHe3::G4PreCompoundHe3(), G4PreCompoundNeutron::G4PreCompoundNeutron(), G4PreCompoundProton::G4PreCompoundProton(), G4PreCompoundTriton::G4PreCompoundTriton(), G4HETCTriton::GetAlpha(), G4HETCHe3::GetAlpha(), G4HETCDeuteron::GetAlpha(), G4HETCAlpha::GetAlpha(), G4HETCTriton::K(), G4HETCProton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), operator<<(), G4PreCompoundEmission::PerformEmission(), and G4PreCompoundNucleon::ProbabilityDistributionFunction().
void G4VPreCompoundFragment::Initialize | ( | const G4Fragment & | aFragment | ) |
Definition at line 77 of file G4VPreCompoundFragment.cc.
References g4pow, G4Fragment::GetA_asInt(), GetCoulombBarrier(), G4Fragment::GetExcitationEnergy(), G4Fragment::GetGroundStateMass(), G4Fragment::GetMomentum(), G4NucleiProperties::GetNuclearMass(), G4Fragment::GetZ_asInt(), theCoulombBarrier, and G4Pow::Z13().
00078 { 00079 theRestNucleusA = aFragment.GetA_asInt() - theA; 00080 theRestNucleusZ = aFragment.GetZ_asInt() - theZ; 00081 00082 if ((theRestNucleusA < theRestNucleusZ) || 00083 (theRestNucleusA < theA) || 00084 (theRestNucleusZ < theZ)) 00085 { 00086 // In order to be sure that emission probability will be 0. 00087 theMaximalKineticEnergy = 0.0; 00088 return; 00089 } 00090 00091 theRestNucleusA13 = g4pow->Z13(theRestNucleusA); 00092 00093 // Calculate Coulomb barrier 00094 theCoulombBarrier = theCoulombBarrierPtr-> 00095 GetCoulombBarrier(theRestNucleusA,theRestNucleusZ, 00096 aFragment.GetExcitationEnergy()); 00097 00098 // Calculate masses 00099 theRestNucleusMass = 00100 G4NucleiProperties::GetNuclearMass(theRestNucleusA, theRestNucleusZ); 00101 theReducedMass = theRestNucleusMass*theMass/(theRestNucleusMass + theMass); 00102 00103 // Compute Binding Energies for fragments 00104 // needed to separate a fragment from the nucleus 00105 theBindingEnergy = 00106 theRestNucleusMass + theMass - aFragment.GetGroundStateMass(); 00107 00108 // Compute Maximal Kinetic Energy which can be carried by fragments 00109 // after separation - the true assimptotic value 00110 G4double Ecm = aFragment.GetMomentum().m(); 00111 theMaximalKineticEnergy = 00112 ((Ecm-theRestNucleusMass)*(Ecm+theRestNucleusMass) + theMass*theMass)/(2.0*Ecm)-theMass; 00113 }
G4bool G4VPreCompoundFragment::IsItPossible | ( | const G4Fragment & | aFragment | ) | const [inline, protected] |
Definition at line 39 of file G4VPreCompoundFragment.icc.
References G4Fragment::GetNumberOfCharged(), and G4Fragment::GetNumberOfParticles().
Referenced by G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
00040 { 00041 G4int pplus = aFragment.GetNumberOfCharged(); 00042 G4int pneut = aFragment.GetNumberOfParticles()-pplus; 00043 return ((pneut >= theA - theZ) && (pplus >= theZ) 00044 && (theMaximalKineticEnergy > 0)); 00045 }
G4double G4VPreCompoundFragment::ResidualA13 | ( | ) | const [inline] |
Definition at line 78 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundAlpha::G4PreCompoundAlpha(), G4PreCompoundHe3::G4PreCompoundHe3(), G4PreCompoundNeutron::G4PreCompoundNeutron(), G4PreCompoundProton::G4PreCompoundProton(), G4PreCompoundTriton::G4PreCompoundTriton(), G4PreCompoundNucleon::GetOpt0(), and G4PreCompoundIon::GetOpt0().
void G4VPreCompoundFragment::SetMomentum | ( | const G4LorentzVector & | value | ) | [inline] |
Definition at line 130 of file G4VPreCompoundFragment.icc.
Referenced by G4PreCompoundEmission::PerformEmission().
void G4VPreCompoundFragment::SetOPTxs | ( | G4int | ) | [inline] |
Definition at line 142 of file G4VPreCompoundFragment.icc.
References OPTxs.
00143 { 00144 OPTxs=opt; 00145 }
void G4VPreCompoundFragment::UseSICB | ( | G4bool | ) | [inline] |
Definition at line 148 of file G4VPreCompoundFragment.icc.
References useSICB.
00149 { 00150 useSICB=use; 00151 }
std::ostream& operator<< | ( | std::ostream & | out, | |
const G4VPreCompoundFragment & | theFragment | |||
) | [friend] |
std::ostream& operator<< | ( | std::ostream & | out, | |
const G4VPreCompoundFragment * | theFragment | |||
) | [friend] |
Definition at line 67 of file G4VPreCompoundFragment.cc.
00068 { 00069 out 00070 << "PreCompoundModel Emitted Fragment: Z= " << theFragment->GetZ() 00071 << " A= " << theFragment->GetA() 00072 << " Mass(GeV)= " << theFragment->GetNuclearMass()/CLHEP::GeV; 00073 return out; 00074 }
G4Pow* G4VPreCompoundFragment::g4pow [protected] |
Definition at line 170 of file G4VPreCompoundFragment.hh.
Referenced by G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4VPreCompoundFragment(), G4HETCNeutron::GetAlpha(), G4HETCNeutron::GetBeta(), G4PreCompoundProton::GetOpt1(), G4PreCompoundTriton::GetOpt12(), G4PreCompoundHe3::GetOpt12(), G4PreCompoundDeuteron::GetOpt12(), G4PreCompoundAlpha::GetOpt12(), G4PreCompoundProton::GetOpt2(), G4PreCompoundProton::GetOpt3(), G4PreCompoundTriton::GetOpt34(), G4PreCompoundHe3::GetOpt34(), G4PreCompoundDeuteron::GetOpt34(), G4PreCompoundAlpha::GetOpt34(), Initialize(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4int G4VPreCompoundFragment::OPTxs [protected] |
Definition at line 176 of file G4VPreCompoundFragment.hh.
Referenced by G4PreCompoundFragment::CalcEmissionProbability(), G4PreCompoundTriton::CrossSection(), G4PreCompoundProton::CrossSection(), G4PreCompoundNeutron::CrossSection(), G4PreCompoundHe3::CrossSection(), G4PreCompoundDeuteron::CrossSection(), G4PreCompoundAlpha::CrossSection(), G4PreCompoundFragment::GetKineticEnergy(), and SetOPTxs().
G4double G4VPreCompoundFragment::theCoulombBarrier [protected] |
Definition at line 173 of file G4VPreCompoundFragment.hh.
Referenced by G4PreCompoundFragment::CalcEmissionProbability(), G4HETCFragment::CalcEmissionProbability(), GetCoulombBarrier(), GetEnergyThreshold(), G4PreCompoundFragment::GetKineticEnergy(), G4PreCompoundProton::GetOpt2(), and Initialize().
Definition at line 172 of file G4VPreCompoundFragment.hh.
Referenced by G4PreCompoundFragment::CalcEmissionProbability(), G4HETCFragment::CalcEmissionProbability(), and GetEmissionProbability().
Definition at line 169 of file G4VPreCompoundFragment.hh.
Referenced by G4HETCFragment::G4HETCFragment(), G4PreCompoundIon::G4PreCompoundIon(), G4VPreCompoundFragment(), G4HETCNeutron::GetKineticEnergy(), G4HETCChargedFragment::GetKineticEnergy(), G4PreCompoundNucleon::GetOpt0(), G4PreCompoundIon::GetOpt0(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4bool G4VPreCompoundFragment::useSICB [protected] |
Definition at line 178 of file G4VPreCompoundFragment.hh.
Referenced by G4PreCompoundFragment::CalcEmissionProbability(), G4PreCompoundFragment::GetKineticEnergy(), G4PreCompoundProton::GetOpt2(), and UseSICB().