#include <G4Fragment.hh>
Definition at line 67 of file G4Fragment.hh.
G4Fragment::G4Fragment | ( | ) |
Definition at line 51 of file G4Fragment.cc.
00051 : 00052 theA(0), 00053 theZ(0), 00054 theExcitationEnergy(0.0), 00055 theGroundStateMass(0.0), 00056 theMomentum(G4LorentzVector(0,0,0,0)), 00057 theAngularMomentum(G4ThreeVector(0,0,0)), 00058 numberOfParticles(0), 00059 numberOfCharged(0), 00060 numberOfHoles(0), 00061 numberOfChargedHoles(0), 00062 numberOfShellElectrons(0), 00063 theParticleDefinition(0), 00064 theCreationTime(0.0), 00065 isStable(true) 00066 {}
G4Fragment::~G4Fragment | ( | ) |
G4Fragment::G4Fragment | ( | const G4Fragment & | right | ) |
Definition at line 69 of file G4Fragment.cc.
References isStable, numberOfCharged, numberOfChargedHoles, numberOfHoles, numberOfParticles, numberOfShellElectrons, theA, theAngularMomentum, theCreationTime, theExcitationEnergy, theGroundStateMass, theMomentum, theParticleDefinition, and theZ.
00070 { 00071 theA = right.theA; 00072 theZ = right.theZ; 00073 theExcitationEnergy = right.theExcitationEnergy; 00074 theGroundStateMass = right.theGroundStateMass; 00075 theMomentum = right.theMomentum; 00076 theAngularMomentum = right.theAngularMomentum; 00077 numberOfParticles = right.numberOfParticles; 00078 numberOfCharged = right.numberOfCharged; 00079 numberOfHoles = right.numberOfHoles; 00080 numberOfChargedHoles = right.numberOfChargedHoles; 00081 numberOfShellElectrons = right.numberOfShellElectrons; 00082 theParticleDefinition = right.theParticleDefinition; 00083 theCreationTime = right.theCreationTime; 00084 isStable = right.isStable; 00085 }
G4Fragment::G4Fragment | ( | G4int | A, | |
G4int | Z, | |||
const G4LorentzVector & | aMomentum | |||
) |
Definition at line 90 of file G4Fragment.cc.
00090 : 00091 theA(A), 00092 theZ(Z), 00093 theMomentum(aMomentum), 00094 theAngularMomentum(G4ThreeVector(0,0,0)), 00095 numberOfParticles(0), 00096 numberOfCharged(0), 00097 numberOfHoles(0), 00098 numberOfChargedHoles(0), 00099 numberOfShellElectrons(0), 00100 theParticleDefinition(0), 00101 theCreationTime(0.0), 00102 isStable(true) 00103 { 00104 theExcitationEnergy = 0.0; 00105 theGroundStateMass = 0.0; 00106 if(theA > 0) { 00107 CalculateGroundStateMass(); 00108 CalculateExcitationEnergy(); 00109 00110 // default flag of stability for excited fragments is false 00111 // it may be overwritten by SetStable(G4bool val) method 00112 if(theExcitationEnergy > 0.0) { isStable = false; } 00113 } 00114 }
G4Fragment::G4Fragment | ( | const G4LorentzVector & | aMomentum, | |
G4ParticleDefinition * | aParticleDefinition | |||
) |
Definition at line 117 of file G4Fragment.cc.
References G4Electron::Electron(), G4Gamma::Gamma(), G4ParticleDefinition::GetParticleName(), and G4ParticleDefinition::GetPDGMass().
00118 : 00119 theA(0), 00120 theZ(0), 00121 theMomentum(aMomentum), 00122 theAngularMomentum(G4ThreeVector(0,0,0)), 00123 numberOfParticles(0), 00124 numberOfCharged(0), 00125 numberOfHoles(0), 00126 numberOfChargedHoles(0), 00127 numberOfShellElectrons(0), 00128 theParticleDefinition(aParticleDefinition), 00129 theCreationTime(0.0), 00130 isStable(true) 00131 { 00132 theExcitationEnergy = 0.0; 00133 if(aParticleDefinition != G4Gamma::Gamma() && 00134 aParticleDefinition != G4Electron::Electron()) { 00135 G4String text = "G4Fragment::G4Fragment constructor for gamma used for " 00136 + aParticleDefinition->GetParticleName(); 00137 throw G4HadronicException(__FILE__, __LINE__, text); 00138 } 00139 theGroundStateMass = aParticleDefinition->GetPDGMass(); 00140 }
Definition at line 273 of file G4Fragment.hh.
References G4NucleiProperties::GetNuclearMass().
Referenced by G4EvaporationProbability::ProbabilityDistributionFunction().
00274 { 00275 return G4NucleiProperties::GetNuclearMass(A, Z); 00276 }
G4double G4Fragment::GetA | ( | ) | const [inline] |
Definition at line 283 of file G4Fragment.hh.
Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4CollisionOutput::boostToLabFrame(), G4StatMF::BreakItUp(), G4BertiniEvaporation::BreakItUp(), G4AblaEvaporation::BreakItUp(), G4GNASHTransitions::CalculateProbability(), G4StatMFMicroCanonical::ChooseAandZ(), G4InuclCollider::deexcite(), G4GNASHTransitions::PerformTransition(), G4CollisionOutput::printCollisionOutput(), G4CollisionOutput::rotateEvent(), and G4CollisionOutput::setOnShell().
00284 { 00285 return G4double(theA); 00286 }
G4int G4Fragment::GetA_asInt | ( | ) | const [inline] |
Definition at line 218 of file G4Fragment.hh.
Referenced by G4WilsonAblationModel::BreakItUp(), G4StatMF::BreakItUp(), G4InuclEvaporation::BreakItUp(), G4ExcitationHandler::BreakItUp(), G4Evaporation::BreakItUp(), G4CompetitiveFission::BreakUp(), G4UnstableFragmentBreakUp::BreakUpFragment(), G4GEMProbability::CalcAlphaParam(), G4GEMProbability::CalcBetaParam(), G4PreCompoundTransitions::CalculateProbability(), G4StatMFMicroCanonical::ChooseAandZ(), G4StatMFMacroCanonical::ChooseAandZ(), G4InuclNuclei::copy(), G4DiscreteGammaDeexcitation::CreateTransition(), G4ContinuumGammaDeexcitation::CreateTransition(), G4PreCompoundModel::DeExcite(), G4FissionProbability::EmissionProbability(), G4E1SingleProbability1::EmissionProbDensity(), G4E1Probability::EmissionProbDensity(), G4CascadeColliderBase::explosion(), G4StatMFMacroCanonical::G4StatMFMacroCanonical(), G4GEMProbability::GetCoulombBarrier(), G4PromptPhotonEvaporation::GetEmissionProbability(), G4GEMChannel::GetEmissionProbability(), G4EvaporationChannel::GetEmissionProbability(), G4CompetitiveFission::GetEmissionProbability(), G4FermiConfigurationList::GetFragments(), G4HETCNeutron::GetKineticEnergy(), G4HETCChargedFragment::GetKineticEnergy(), G4CollisionOutput::getTotalBaryonNumber(), G4VPreCompoundFragment::Initialize(), G4PreCompoundTransitions::PerformTransition(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), G4PreCompoundIon::ProbabilityDistributionFunction(), and G4EvaporationProbability::ProbabilityDistributionFunction().
const G4ThreeVector & G4Fragment::GetAngularMomentum | ( | ) | const [inline] |
G4double G4Fragment::GetBindingEnergy | ( | ) | const [inline] |
Definition at line 245 of file G4Fragment.hh.
00246 { 00247 return (theA-theZ)*CLHEP::neutron_mass_c2 + theZ*CLHEP::proton_mass_c2 00248 - theGroundStateMass; 00249 }
G4double G4Fragment::GetCreationTime | ( | ) | const [inline] |
Definition at line 378 of file G4Fragment.hh.
Referenced by G4UnstableFragmentBreakUp::BreakUpFragment(), and G4VGammaDeexcitation::GenerateGamma().
G4double G4Fragment::GetExcitationEnergy | ( | ) | const [inline] |
Definition at line 235 of file G4Fragment.hh.
Referenced by G4ParaFissionModel::ApplyYourself(), G4WilsonAblationModel::BreakItUp(), G4StatMF::BreakItUp(), G4InuclEvaporation::BreakItUp(), G4ExcitationHandler::BreakItUp(), G4Evaporation::BreakItUp(), G4BertiniEvaporation::BreakItUp(), G4AblaEvaporation::BreakItUp(), G4GEMChannel::BreakUp(), G4CompetitiveFission::BreakUp(), G4PreCompoundTransitions::CalculateProbability(), G4GNASHTransitions::CalculateProbability(), G4DiscreteGammaDeexcitation::CanDoTransition(), G4ContinuumGammaDeexcitation::CanDoTransition(), G4InuclNuclei::copy(), G4DiscreteGammaDeexcitation::CreateTransition(), G4ContinuumGammaDeexcitation::CreateTransition(), G4PreCompoundModel::DeExcite(), G4VGammaDeexcitation::DoChain(), G4GEMProbability::EmissionProbability(), G4FissionProbability::EmissionProbability(), G4EvaporationProbability::EmissionProbability(), G4E1SingleProbability1::EmissionProbability(), G4E1SingleProbability1::EmissionProbDensity(), G4E1Probability::EmissionProbDensity(), G4PromptPhotonEvaporation::EmittedFragment(), G4CascadeColliderBase::explosion(), G4VGammaDeexcitation::GenerateGamma(), G4GEMProbability::GetCoulombBarrier(), G4PromptPhotonEvaporation::GetEmissionProbability(), G4PhotonEvaporation::GetEmissionProbability(), G4GEMChannel::GetEmissionProbability(), G4EvaporationChannel::GetEmissionProbability(), G4CompetitiveFission::GetEmissionProbability(), G4VPreCompoundFragment::Initialize(), G4VGammaDeexcitation::Initialize(), operator<<(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), G4PreCompoundIon::ProbabilityDistributionFunction(), G4EvaporationProbability::ProbabilityDistributionFunction(), G4CollisionOutput::setOnShell(), G4CollisionOutput::setRemainingExitationEnergy(), and G4VGammaDeexcitation::Update().
G4double G4Fragment::GetGroundStateMass | ( | ) | const [inline] |
Definition at line 240 of file G4Fragment.hh.
Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4WilsonAblationModel::BreakItUp(), G4GEMChannel::BreakUp(), G4CompetitiveFission::BreakUp(), G4VGammaDeexcitation::GenerateGamma(), G4PromptPhotonEvaporation::GetEmissionProbability(), G4GEMChannel::GetEmissionProbability(), G4EvaporationChannel::GetEmissionProbability(), G4VPreCompoundFragment::Initialize(), and G4EvaporationProbability::ProbabilityDistributionFunction().
const G4LorentzVector & G4Fragment::GetMomentum | ( | ) | const [inline] |
Definition at line 251 of file G4Fragment.hh.
Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4CollisionOutput::boostToLabFrame(), G4WilsonAblationModel::BreakItUp(), G4StatMF::BreakItUp(), G4InuclEvaporation::BreakItUp(), G4AblaEvaporation::BreakItUp(), G4GEMChannel::BreakUp(), G4EvaporationChannel::BreakUp(), G4CompetitiveFission::BreakUp(), G4UnstableFragmentBreakUp::BreakUpFragment(), G4InuclNuclei::copy(), G4VGammaDeexcitation::GenerateGamma(), G4FermiConfigurationList::GetFragments(), G4CollisionOutput::getTotalOutputMomentum(), G4VPreCompoundFragment::Initialize(), G4PreCompoundEmission::PerformEmission(), G4CollisionOutput::rotateEvent(), and G4CollisionOutput::setOnShell().
G4int G4Fragment::GetNumberOfCharged | ( | ) | const [inline] |
Definition at line 310 of file G4Fragment.hh.
Referenced by G4PreCompoundTransitions::CalculateProbability(), G4InuclNuclei::copy(), G4VPreCompoundFragment::IsItPossible(), G4PreCompoundEmission::PerformEmission(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4int G4Fragment::GetNumberOfChargedHoles | ( | ) | const [inline] |
G4int G4Fragment::GetNumberOfElectrons | ( | ) | const [inline] |
G4int G4Fragment::GetNumberOfExcitons | ( | ) | const [inline] |
Definition at line 300 of file G4Fragment.hh.
Referenced by G4PreCompoundModel::DeExcite(), and operator<<().
G4int G4Fragment::GetNumberOfHoles | ( | ) | const [inline] |
Definition at line 325 of file G4Fragment.hh.
Referenced by G4PreCompoundTransitions::CalculateProbability(), G4GNASHTransitions::CalculateProbability(), G4InuclNuclei::copy(), G4HETCNeutron::GetKineticEnergy(), G4HETCChargedFragment::GetKineticEnergy(), G4HETCTriton::K(), G4HETCProton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4int G4Fragment::GetNumberOfParticles | ( | ) | const [inline] |
Definition at line 305 of file G4Fragment.hh.
Referenced by G4PreCompoundTransitions::CalculateProbability(), G4GNASHTransitions::CalculateProbability(), G4InuclNuclei::copy(), G4HETCNeutron::GetKineticEnergy(), G4HETCChargedFragment::GetKineticEnergy(), G4VPreCompoundFragment::IsItPossible(), G4HETCTriton::K(), G4HETCProton::K(), G4HETCNeutron::K(), G4HETCHe3::K(), G4HETCDeuteron::K(), G4HETCAlpha::K(), G4PreCompoundEmission::PerformEmission(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), G4PreCompoundNucleon::ProbabilityDistributionFunction(), and G4PreCompoundIon::ProbabilityDistributionFunction().
G4ParticleDefinition * G4Fragment::GetParticleDefinition | ( | ) | const [inline] |
G4double G4Fragment::GetZ | ( | ) | const [inline] |
Definition at line 278 of file G4Fragment.hh.
Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4BertiniEvaporation::BreakItUp(), G4AblaEvaporation::BreakItUp(), G4StatMFMicroCanonical::ChooseAandZ(), and G4GNASHTransitions::PerformTransition().
00279 { 00280 return G4double(theZ); 00281 }
G4int G4Fragment::GetZ_asInt | ( | ) | const [inline] |
Definition at line 223 of file G4Fragment.hh.
Referenced by G4WilsonAblationModel::BreakItUp(), G4StatMF::BreakItUp(), G4InuclEvaporation::BreakItUp(), G4ExcitationHandler::BreakItUp(), G4Evaporation::BreakItUp(), G4CompetitiveFission::BreakUp(), G4UnstableFragmentBreakUp::BreakUpFragment(), G4GEMProbability::CalcAlphaParam(), G4PreCompoundTransitions::CalculateProbability(), G4StatMFMicroCanonical::ChooseAandZ(), G4StatMFMacroCanonical::ChooseAandZ(), G4InuclNuclei::copy(), G4DiscreteGammaDeexcitation::CreateTransition(), G4ContinuumGammaDeexcitation::CreateTransition(), G4PreCompoundModel::DeExcite(), G4FissionProbability::EmissionProbability(), G4E1SingleProbability1::EmissionProbDensity(), G4CascadeColliderBase::explosion(), G4GEMProbability::GetCoulombBarrier(), G4PromptPhotonEvaporation::GetEmissionProbability(), G4GEMChannel::GetEmissionProbability(), G4EvaporationChannel::GetEmissionProbability(), G4CompetitiveFission::GetEmissionProbability(), G4FermiConfigurationList::GetFragments(), G4CollisionOutput::getTotalCharge(), G4VPreCompoundFragment::Initialize(), G4PreCompoundTransitions::PerformTransition(), and G4EvaporationProbability::ProbabilityDistributionFunction().
G4bool G4Fragment::IsStable | ( | ) | const [inline] |
G4bool G4Fragment::operator!= | ( | const G4Fragment & | right | ) | const |
Definition at line 168 of file G4Fragment.cc.
00169 { 00170 return (this != (G4Fragment *) &right); 00171 }
G4Fragment & G4Fragment::operator= | ( | const G4Fragment & | right | ) |
Definition at line 142 of file G4Fragment.cc.
References isStable, numberOfCharged, numberOfChargedHoles, numberOfHoles, numberOfParticles, numberOfShellElectrons, theA, theAngularMomentum, theCreationTime, theExcitationEnergy, theGroundStateMass, theMomentum, theParticleDefinition, and theZ.
00143 { 00144 if (this != &right) { 00145 theA = right.theA; 00146 theZ = right.theZ; 00147 theExcitationEnergy = right.theExcitationEnergy; 00148 theGroundStateMass = right.theGroundStateMass; 00149 theMomentum = right.theMomentum; 00150 theAngularMomentum = right.theAngularMomentum; 00151 numberOfParticles = right.numberOfParticles; 00152 numberOfCharged = right.numberOfCharged; 00153 numberOfHoles = right.numberOfHoles; 00154 numberOfChargedHoles = right.numberOfChargedHoles; 00155 numberOfShellElectrons = right.numberOfShellElectrons; 00156 theParticleDefinition = right.theParticleDefinition; 00157 theCreationTime = right.theCreationTime; 00158 isStable = right.isStable; 00159 } 00160 return *this; 00161 }
G4bool G4Fragment::operator== | ( | const G4Fragment & | right | ) | const |
Definition at line 163 of file G4Fragment.cc.
00164 { 00165 return (this == (G4Fragment *) &right); 00166 }
void G4Fragment::SetA | ( | G4double | value | ) | [inline] |
Definition at line 294 of file G4Fragment.hh.
References G4lrint().
00295 { 00296 theA = G4lrint(value); 00297 CalculateGroundStateMass(); 00298 }
void G4Fragment::SetAngularMomentum | ( | const G4ThreeVector & | value | ) | [inline] |
void G4Fragment::SetCreationTime | ( | G4double | time | ) | [inline] |
Definition at line 383 of file G4Fragment.hh.
Referenced by G4PreCompoundModel::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4UnstableFragmentBreakUp::BreakUpFragment(), and G4VGammaDeexcitation::GenerateGamma().
void G4Fragment::SetMomentum | ( | const G4LorentzVector & | value | ) | [inline] |
Definition at line 256 of file G4Fragment.hh.
Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4CollisionOutput::boostToLabFrame(), G4UnstableFragmentBreakUp::BreakUpFragment(), G4VGammaDeexcitation::GenerateGamma(), G4CascadeRecoilMaker::makeRecoilFragment(), G4PreCompoundEmission::PerformEmission(), G4CollisionOutput::rotateEvent(), and G4CollisionOutput::setOnShell().
void G4Fragment::SetNumberOfCharged | ( | G4int | value | ) | [inline] |
Definition at line 349 of file G4Fragment.hh.
Referenced by G4PreCompoundEmission::PerformEmission(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), and G4GeneratorPrecompoundInterface::Propagate().
00350 { 00351 numberOfCharged = value; 00352 if(value > numberOfParticles) { 00353 NumberOfExitationWarning("SetNumberOfCharged"); 00354 } 00355 }
void G4Fragment::SetNumberOfElectrons | ( | G4int | value | ) | [inline] |
Definition at line 316 of file G4Fragment.hh.
Referenced by G4PreCompoundModel::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4InuclNuclei::makeG4Fragment(), and G4CascadeRecoilMaker::makeRecoilFragment().
00317 { 00318 numberOfParticles = valueTot; 00319 numberOfCharged = valueP; 00320 if(valueTot < valueP) { 00321 NumberOfExitationWarning("SetNumberOfExcitedParticle"); 00322 } 00323 }
Definition at line 335 of file G4Fragment.hh.
Referenced by G4PreCompoundModel::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4InuclNuclei::makeG4Fragment(), G4CascadeRecoilMaker::makeRecoilFragment(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), and G4GeneratorPrecompoundInterface::Propagate().
00336 { 00337 numberOfHoles = valueTot; 00338 numberOfChargedHoles = valueP; 00339 if(valueTot < valueP) { 00340 NumberOfExitationWarning("SetNumberOfHoles"); 00341 } 00342 }
void G4Fragment::SetNumberOfParticles | ( | G4int | value | ) | [inline] |
Definition at line 344 of file G4Fragment.hh.
Referenced by G4PreCompoundEmission::PerformEmission(), G4PreCompoundTransitions::PerformTransition(), G4GNASHTransitions::PerformTransition(), and G4GeneratorPrecompoundInterface::Propagate().
void G4Fragment::SetParticleDefinition | ( | G4ParticleDefinition * | p | ) | [inline] |
void G4Fragment::SetStable | ( | G4bool | val | ) | [inline] |
void G4Fragment::SetZ | ( | G4double | value | ) | [inline] |
Definition at line 288 of file G4Fragment.hh.
References G4lrint().
00289 { 00290 theZ = G4lrint(value); 00291 CalculateGroundStateMass(); 00292 }
Definition at line 228 of file G4Fragment.hh.
Referenced by G4UnstableFragmentBreakUp::BreakUpFragment(), G4CascadeRecoilMaker::makeRecoilFragment(), and G4PreCompoundEmission::PerformEmission().
std::ostream& operator<< | ( | std::ostream & | out, | |
const G4Fragment & | theFragment | |||
) | [friend] |
std::ostream& operator<< | ( | std::ostream & | out, | |
const G4Fragment * | theFragment | |||
) | [friend] |
Definition at line 173 of file G4Fragment.cc.
00174 { 00175 if (!theFragment) { 00176 out << "Fragment: null pointer "; 00177 return out; 00178 } 00179 00180 std::ios::fmtflags old_floatfield = out.flags(); 00181 out.setf(std::ios::floatfield); 00182 00183 out << "Fragment: A = " << std::setw(3) << theFragment->theA 00184 << ", Z = " << std::setw(3) << theFragment->theZ ; 00185 out.setf(std::ios::scientific,std::ios::floatfield); 00186 00187 // Store user's precision setting and reset to (3) here: back-compatibility 00188 std::streamsize floatPrec = out.precision(); 00189 00190 out << std::setprecision(3) 00191 << ", U = " << theFragment->GetExcitationEnergy()/CLHEP::MeV 00192 << " MeV IsStable= " << theFragment->IsStable() << G4endl 00193 << " P = (" 00194 << theFragment->theMomentum.x()/CLHEP::MeV << "," 00195 << theFragment->theMomentum.y()/CLHEP::MeV << "," 00196 << theFragment->theMomentum.z()/CLHEP::MeV 00197 << ") MeV E = " 00198 << theFragment->theMomentum.t()/CLHEP::MeV << " MeV" 00199 << G4endl; 00200 00201 // What about Angular momentum??? 00202 00203 if (theFragment->GetNumberOfExcitons() != 0) { 00204 out << " " 00205 << "#Particles= " << theFragment->numberOfParticles 00206 << ", #Charged= " << theFragment->numberOfCharged 00207 << ", #Holes= " << theFragment->numberOfHoles 00208 << ", #ChargedHoles= " << theFragment->numberOfChargedHoles 00209 << G4endl; 00210 } 00211 out.setf(old_floatfield,std::ios::floatfield); 00212 out.precision(floatPrec); 00213 00214 return out; 00215 }